Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Merge #1815 | bors[bot] | 2019-09-27 | 1 | -0/+10 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1815: Support correct `$crate` expansion in macros r=uHOOCCOOHu a=uHOOCCOOHu This PR makes normal use cases of `$crate` from macros work as expected. It makes more macros from `std` work. Type inference works well with `panic`, `unimplemented`, `format`, and maybe more. Sadly that `vec![1, 2, 3]` still not works, but it is not longer an issue about macro. Screenshot: ![Screenshot_20190927_022136](https://user-images.githubusercontent.com/14816024/65714465-b4568f80-e0cd-11e9-8043-dd44c2ae8040.png) Co-authored-by: uHOOCCOOHu <[email protected]> | ||||
| * | Refactor `Name` ready for hygienic macro | uHOOCCOOHu | 2019-09-26 | 1 | -0/+10 |
| | | |||||
* | | Start simplifying editing API | Aleksey Kladov | 2019-09-26 | 4 | -0/+103 |
|/ | |||||
* | move diff to ra_syntax | Aleksey Kladov | 2019-09-26 | 1 | -0/+42 |
| | |||||
* | keep ast creation API simple | Aleksey Kladov | 2019-09-26 | 2 | -0/+136 |
| | |||||
* | add new editing API, suitable for modifying several nodes at once | Aleksey Kladov | 2019-09-25 | 3 | -0/+42 |
| | |||||
* | fewer monomorphisations | Aleksey Kladov | 2019-09-25 | 1 | -2/+2 |
| | |||||
* | simplify | Aleksey Kladov | 2019-09-24 | 1 | -4/+1 |
| | |||||
* | Support loop as argument | kjeremy | 2019-09-20 | 2 | -0/+64 |
| | |||||
* | Merge #1884 | bors[bot] | 2019-09-20 | 2 | -0/+79 |
|\ | | | | | | | | | | | | | | | 1884: Add indexing to record_field_pat r=matklad a=kjeremy Fixes #1870 Co-authored-by: kjeremy <[email protected]> | ||||
| * | Add indexing to record_field_pat | kjeremy | 2019-09-20 | 2 | -0/+79 |
| | | |||||
* | | fix infinite loop in the parser | Aleksey Kladov | 2019-09-20 | 2 | -0/+53 |
|/ | | | | closes #1866 | ||||
* | don't confuse macro with != | Aleksey Kladov | 2019-09-20 | 2 | -0/+69 |
| | | | | closes #1871 | ||||
* | Support path starting with a type | uHOOCCOOHu | 2019-09-15 | 2 | -1/+4 |
| | |||||
* | Merge #1848 | bors[bot] | 2019-09-15 | 9 | -7/+529 |
|\ | | | | | | | | | | | | | | | | | | | | | | | 1848: Parse `..` as a full pattern r=matklad a=ecstatic-morse Resolves #1479. This PR implements [RFC 2707](https://github.com/rust-lang/rfcs/pull/2707) in the parser. It introduces a new `DotDotPat` AST node modeled on `PlaceholderPat` and changes the parsing of tuple and slice patterns to conform to the RFC. Notably, this PR does *not* change the resulting AST when `..` appears in a struct pattern (e.g. `Struct { a, b: c, .. }`). I *think* this is the behavior mandated by RFC 2707, but someone should confirm this. Co-authored-by: Dylan MacKenzie <[email protected]> | ||||
| * | Generate `dot_dot_test` | Dylan MacKenzie | 2019-09-15 | 2 | -0/+481 |
| | | |||||
| * | Bless old tests containing a `..` pattern | Dylan MacKenzie | 2019-09-15 | 5 | -5/+10 |
| | | |||||
| * | Add `DotDotPat` to AST | Dylan MacKenzie | 2019-09-15 | 2 | -2/+38 |
| | | | | | | | | This is modeled on `PlaceholderPat`. | ||||
* | | Add tests for underscores in `const` and `static` items | Dylan MacKenzie | 2019-09-15 | 3 | -38/+78 |
| | | |||||
* | | Allow an underscore as the identifier in `const` items | Dylan MacKenzie | 2019-09-15 | 1 | -0/+1 |
|/ | |||||
* | Infer box expression | uHOOCCOOHu | 2019-09-11 | 2 | -3/+39 |
| | |||||
* | add a jointness parser tests | Aleksey Kladov | 2019-09-10 | 2 | -0/+55 |
| | | | | cc https://github.com/rust-lang/rust/issues/64242 | ||||
* | WIP: switch to fully decomposed tokens internally | Aleksey Kladov | 2019-09-10 | 3 | -1/+146 |
| | |||||
* | Fix outer doc-comments of `macro_rules` | uHOOCCOOHu | 2019-09-09 | 3 | -2/+44 |
| | |||||
* | Lower `Fn(X, Y) -> Z` paths | Florian Diebold | 2019-09-07 | 2 | -1/+7 |
| | |||||
* | switch to rustc_lexer crate | Aleksey Kladov | 2019-09-05 | 1 | -1/+1 |
| | |||||
* | better error recovery for use trees | Aleksey Kladov | 2019-09-05 | 3 | -1/+60 |
| | |||||
* | Merge #1743 | bors[bot] | 2019-09-05 | 2 | -0/+2 |
|\ | | | | | | | | | | | | | | | 1743: Support `#[macro_use]` on `extern crate` r=matklad a=uHOOCCOOHu Unfortunately, #1688 is still an issue. My guess is wrong :( Co-authored-by: uHOOCCOOHu <[email protected]> | ||||
| * | Support resolution of `#[macro_use] extern crate` | uHOOCCOOHu | 2019-08-31 | 2 | -0/+2 |
| | | |||||
* | | Correctly build BodySourceMap for macro-expanded expressions | Aleksey Kladov | 2019-09-03 | 1 | -2/+3 |
| | | |||||
* | | fix assists | Aleksey Kladov | 2019-09-02 | 1 | -0/+20 |
| | | |||||
* | | fix hir for new block syntax | Aleksey Kladov | 2019-09-02 | 4 | -6/+6 |
| | | |||||
* | | fix generated AST | Aleksey Kladov | 2019-09-02 | 3 | -3/+4 |
| | | |||||
* | | update test data | Aleksey Kladov | 2019-09-02 | 150 | -8970/+9245 |
| | | |||||
* | | always wrap block into an expression | Aleksey Kladov | 2019-09-02 | 2 | -11/+11 |
| | | |||||
* | | remove useless trait | Aleksey Kladov | 2019-09-02 | 3 | -9/+6 |
| | | |||||
* | | Add an expr_source method analogous to the source methods in the code model | Florian Diebold | 2019-09-02 | 1 | -3/+2 |
|/ | | | | ... and use that instead of exposing the source map. | ||||
* | Merge #1734 | bors[bot] | 2019-08-25 | 1 | -0/+7 |
|\ | | | | | | | | | | | | | | | 1734: Strip indents and empty lines in check_apply_diagnostic_fix_from_position r=matklad a=matklad Co-authored-by: Phil Ellison <[email protected]> | ||||
| * | Cast SyntaxNodePtr to AstPtr directly | Phil Ellison | 2019-08-25 | 1 | -0/+7 |
| | | |||||
* | | Generate and bless tests | Dylan MacKenzie | 2019-08-24 | 7 | -85/+227 |
| | | |||||
* | | Centralize `box` pattern tests in `patterns.rs` | Dylan MacKenzie | 2019-08-24 | 1 | -0/+6 |
| | | |||||
* | | Add `BoxPat` variant | Dylan MacKenzie | 2019-08-23 | 2 | -2/+40 |
|/ | |||||
* | rename struct -> record, pos -> tuple | Aleksey Kladov | 2019-08-23 | 43 | -421/+421 |
| | |||||
* | make ast object safe | Aleksey Kladov | 2019-08-23 | 1 | -2/+10 |
| | |||||
*-. | Merge #1721 #1723 | bors[bot] | 2019-08-22 | 2 | -1/+30 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1721: Impl/dyn trait r=flodiebold a=flodiebold This adds support for `impl Trait` and `dyn Trait` types as far as possible without Chalk. So we can represent them in the type system, and handle them in method resolution, but Chalk doesn't know about them yet. There's a small temporary hack here where we bypass Chalk during method resolution, so we can handle simple method calls on them and completion works. Fixes #1608. 1723: Make sysroot use `RUST_SRC_PATH` if set r=matklad a=bkchr Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Bastian Köcher <[email protected]> | ||||
| * | | Improve/fix type bound lowering | Florian Diebold | 2019-08-22 | 1 | -26/+29 |
| | | | |||||
| * | | Add `impl Trait` and `dyn Trait` types | Florian Diebold | 2019-08-22 | 2 | -1/+27 |
| |/ | | | | | | | | | | | | | - refactor bounds handling in the AST a bit - add HIR for bounds - add `Ty::Dyn` and `Ty::Opaque` variants and lower `dyn Trait` / `impl Trait` syntax to them | ||||
* / | Add test for nested box pattern | Dylan MacKenzie | 2019-08-22 | 2 | -12/+49 |
|/ | |||||
* | Don't add `?` bounds as real bounds | Aleksey Kladov | 2019-08-22 | 1 | -0/+12 |
| | | | | closes #1709 | ||||
* | :arrow_up: rustc_lexer | Aleksey Kladov | 2019-08-20 | 3 | -117/+75 |
| |