Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
| * | Move tests around | Geoffry Song | 2019-10-06 | 8 | -141/+193 | |
| | | ||||||
| * | Lower the precedence of the `as` operator. | Geoffry Song | 2019-10-03 | 4 | -43/+141 | |
| | | | | | | | | | | | | | | Previously, the `as` operator was being parsed like a postfix expression, and therefore being given the highest possible precedence. That caused it to bind more tightly than prefix operators, which it should not. Instead, parse it somewhat like a normal binary expression with some special-casing. | |||||
* | | Merge #1960 | bors[bot] | 2019-10-05 | 4 | -132/+31 | |
|\ \ | | | | | | | | | | | | | | | | | | | | | | 1960: Replace AST visitors with macro r=viorina a=viorina Fixes #1672. Co-authored-by: Ekaterina Babshukova <[email protected]> | |||||
| * | | remove `visitor` module | Ekaterina Babshukova | 2019-10-05 | 3 | -136/+21 | |
| | | | ||||||
| * | | replace AST visitors with macro | Ekaterina Babshukova | 2019-10-05 | 2 | -8/+22 | |
| | | | ||||||
* | | | Merge #1928 | bors[bot] | 2019-10-05 | 2 | -1/+3 | |
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1928: Support `#[cfg(..)]` r=matklad a=oxalica This PR implement `#[cfg(..)]` conditional compilation. It read default cfg options from `rustc --print cfg` with also hard-coded `test` and `debug_assertion` enabled. Front-end settings are **not** included in this PR. There is also a known issue that inner control attributes are totally ignored. I think it is **not** a part of `cfg` and create a separated issue for it. #1949 Fixes #1920 Related: #1073 Co-authored-by: uHOOCCOOHu <[email protected]> Co-authored-by: oxalica <[email protected]> | |||||
| * | | Pass attributes as token tree to DefCollector | uHOOCCOOHu | 2019-10-02 | 2 | -1/+3 | |
| |/ | ||||||
* / | Fix parsing of block expressions in "forbid_structs" contexts. | Geoffry Song | 2019-10-03 | 9 | -44/+217 | |
|/ | | | | | | Forbidding block expressions entirely is too strict; instead, we should only forbid them in contexts where we are parsing an optional RHS (i.e. the RHS of a range expression). | |||||
* | Merge branch 'master' into feature/issue/1856 | Alexander Andreev | 2019-09-30 | 37 | -657/+1095 | |
|\ | | | | | | | | | # Conflicts: # crates/ra_assists/src/ast_editor.rs | |||||
| * | Fixes | uHOOCCOOHu | 2019-09-30 | 1 | -9/+0 | |
| | | ||||||
| * | Fix API of Attr | uHOOCCOOHu | 2019-09-30 | 4 | -47/+26 | |
| | | ||||||
| * | Parse correct AttrInput | uHOOCCOOHu | 2019-09-30 | 32 | -599/+825 | |
| | | ||||||
| * | cleanup editor | Aleksey Kladov | 2019-09-30 | 1 | -1/+4 | |
| | | ||||||
| * | remove ast_editor.rs | Aleksey Kladov | 2019-09-30 | 1 | -0/+12 | |
| | | ||||||
| * | move remove bounds to ast/edit.rs | Aleksey Kladov | 2019-09-30 | 1 | -1/+15 | |
| | | ||||||
| * | move field list to ast/edit.rs | Aleksey Kladov | 2019-09-30 | 2 | -3/+96 | |
| | | ||||||
| * | migrate add impl items to the new editing API | Aleksey Kladov | 2019-09-28 | 1 | -3/+94 | |
| | | ||||||
| * | simplify strip attrs | Aleksey Kladov | 2019-09-28 | 3 | -3/+32 | |
| | | ||||||
* | | Added test for check doc strings in crates. | Alexander Andreev | 2019-09-30 | 13 | -1/+25 | |
|/ | | | | #1856 | |||||
* | 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 | |
| | |