Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Finalize const&static grammar | Aleksey Kladov | 2020-07-30 | 10 | -13/+13 |
| | |||||
* | Rename EnumVariant -> Variant | Aleksey Kladov | 2020-07-30 | 6 | -31/+31 |
| | |||||
* | Rename EnumDef -> Enum | Aleksey Kladov | 2020-07-30 | 6 | -13/+13 |
| | |||||
* | Rename StructDef -> Struct | Aleksey Kladov | 2020-07-30 | 29 | -66/+66 |
| | |||||
* | Finalize union grammar | Aleksey Kladov | 2020-07-30 | 2 | -3/+3 |
| | |||||
* | Rename FieldDef -> Field | Aleksey Kladov | 2020-07-30 | 25 | -84/+84 |
| | |||||
* | Rename RecordLit -> RecordExpr | Aleksey Kladov | 2020-07-30 | 8 | -37/+37 |
| | |||||
* | Rename TypeParamList -> GenericParamList | Aleksey Kladov | 2020-07-30 | 32 | -90/+90 |
| | |||||
* | Rename TypeAliasDef -> TypeAlias | Aleksey Kladov | 2020-07-30 | 36 | -52/+52 |
| | |||||
* | Rename FnDef -> Fn | Aleksey Kladov | 2020-07-30 | 190 | -290/+290 |
| | |||||
* | Update tests | Aleksey Kladov | 2020-07-30 | 20 | -52/+52 |
| | |||||
* | Update tests | Aleksey Kladov | 2020-07-30 | 2 | -4/+4 |
| | |||||
* | Update tests | Aleksey Kladov | 2020-07-30 | 3 | -9/+9 |
| | |||||
* | Update tests | Aleksey Kladov | 2020-07-30 | 32 | -38/+38 |
| | |||||
* | Fix nameref parsing | Aleksey Kladov | 2020-07-28 | 1 | -2/+1 |
| | |||||
* | Fix panic in split and merge import assists | Laurențiu Nicola | 2020-06-23 | 3 | -3/+18 |
| | |||||
* | Implement APIs for parsing expressions, types, paths, patterns and items | David Lattimore | 2020-06-21 | 26 | -0/+90 |
| | |||||
* | Update parser tests with env var | Aleksey Kladov | 2020-06-15 | 1 | -1/+0 |
| | |||||
* | Add example of old trait object syntax | Matthew Jasper | 2020-06-11 | 2 | -1/+38 |
| | |||||
* | Move complex inline test to own file | Matthew Jasper | 2020-06-11 | 6 | -356/+670 |
| | |||||
* | Separating parsing of `for` in predicates and types | Matthew Jasper | 2020-06-10 | 7 | -281/+470 |
| | |||||
* | Correctly parse <_> paths in patterns | Aleksey Kladov | 2020-06-09 | 3 | -37/+76 |
| | | | | closes #3659 | ||||
* | Parse default unsafe fn | Avi Dessauer | 2020-06-08 | 2 | -0/+43 |
| | |||||
* | Move default const test out of line | Avi Dessauer | 2020-06-04 | 4 | -0/+0 |
| | |||||
* | Update tests | Avi Dessauer | 2020-06-04 | 6 | -0/+109 |
| | |||||
* | Parse default unsafe & default const | Avi Dessauer | 2020-06-04 | 1 | -14/+20 |
| | |||||
* | Support raw_ref_op's raw reference operator | robojumper | 2020-05-28 | 2 | -44/+134 |
| | |||||
* | Fix parsing of blocks without `{` | Aleksey Kladov | 2020-05-02 | 5 | -25/+78 |
| | |||||
* | Cleanup inline tests | Aleksey Kladov | 2020-05-02 | 8 | -30/+59 |
| | |||||
* | Update test data | Aleksey Kladov | 2020-05-02 | 178 | -10580/+10223 |
| | |||||
* | Validate uses of self and super | John Renner | 2020-05-01 | 6 | -26/+104 |
| | |||||
* | Merge #4227 | bors[bot] | 2020-04-30 | 4 | -75/+91 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4227: Report invalid, nested, multi-segment crate-paths r=matklad a=djrenren There was a bug in the previous path-validating code that didn't detect multi-segment paths that started with `crate`. ```rust // Successfully reported use foo::{crate}; // BUG: was not being reported use foo::{crate::bar}; ``` This was due to my confusion about path-associativity. That is, the path with no qualifier is the innermost path, not the outermost. I've updated the code with a lot of comments to explain what's going on. This bug was discovered when I found an erroneous `ok` test which I reported here: https://github.com/rust-analyzer/rust-analyzer/issues/4226 This test now fails and has been modified, hopefully in the spirit of the original test, to be correct. Sorry about submitting the bug in the first place! Co-authored-by: John Renner <[email protected]> | ||||
| * | Report invalid, nested, multi-segment crate-paths | John Renner | 2020-04-30 | 4 | -75/+91 |
| | | | | | | | | | | | | | | | | | | | | Specifically, things like: use foo::{crate::bar}; Are now being caught, when before we only caught: use foo::{crate}; | ||||
* | | Special-case try macro_rules | Edwin Cheng | 2020-04-30 | 2 | -0/+28 |
|/ | |||||
* | Special-case try macro to better support 2015 edition | Aleksey Kladov | 2020-04-30 | 2 | -0/+36 |
| | |||||
* | Validate the location of `crate` in paths | John Renner | 2020-04-29 | 2 | -0/+80 |
| | |||||
* | Convert tests to text-size | Aleksey Kladov | 2020-04-25 | 278 | -22795/+22795 |
| | |||||
* | Align grammar for record patterns and literals | Aleksey Kladov | 2020-04-11 | 5 | -33/+41 |
| | | | | | | The grammar now looks like this [name_ref :] pat | ||||
* | Make records grammar more orthogonal | Aleksey Kladov | 2020-04-11 | 3 | -4/+62 |
| | | | | | | | | | | | | We used name [: expr] grammar before, now it is [name :] expr which makes things simpler | ||||
* | Rename some tokens | Aleksey Kladov | 2020-04-10 | 194 | -998/+998 |
| | |||||
* | Parse correctly fn f<T>() where T: Fn() -> u8 + Send {} | Luca Barbieri | 2020-04-09 | 2 | -0/+62 |
| | | | | | We used to parse it as T: Fn() -> (u8 + Send), which is different from the rustc behavior of T: (Fn() -> u8) + Send | ||||
* | Migrate tests .txt -> .rast | veetaha | 2020-04-06 | 276 | -0/+0 |
| | | | | | | | | The sytax tree output files now use .rast extension (rust-analyzer syntax tree or rust abstract syntax tree (whatever)). This format has a editors/code/ra_syntax_tree.tmGrammar.json declaration that supplies nice syntax highlighting for .rast files. | ||||
* | Macro patterns are not confused with expressions. | Aleksey Kladov | 2020-04-03 | 1 | -10/+11 |
| | | | | | | | | | | | We treat macro calls as expressions (there's appropriate Into impl), which causes problem if there's expresison and non-expression macro in the same node (like in the match arm). We fix this problem by nesting macor patterns into another node (the same way we nest path into PathExpr or PathPat). Ideally, we probably should add a similar nesting for macro expressions, but that needs some careful thinking about macros in blocks: `{ am_i_expression!() }`. | ||||
* | Attach doc-comment to declaration if there are newlines in between | Leander Tentrup | 2020-03-31 | 2 | -0/+20 |
| | | | | This commit changes the parser to attach doc-comments to the corresponding declaration in case there are newlines in between the doc-comment and the declaration. | ||||
* | Fix parsing lambdas with return type | Aleksey Kladov | 2020-03-25 | 3 | -14/+62 |
| | | | | | | | We should eat only a single block, and not whatever larger expression may start with a block. closes #3721 | ||||
* | Support arbitrary discriminants | Aleksey Kladov | 2020-03-20 | 2 | -0/+31 |
| | | | | Closes #3661 | ||||
* | Parse variadics correctly | Aleksey Kladov | 2020-03-13 | 5 | -3/+144 |
| | | | | closes #3571 | ||||
* | Move verbose tests out of line | Aleksey Kladov | 2020-03-13 | 8 | -56/+87 |
| | |||||
* | Fix parsing of stement-ish binary expressions | Aleksey Kladov | 2020-03-11 | 2 | -0/+41 |
| | | | | closes #3512 | ||||
* | Rename ast::ImplBlock -> ast::ImplDef | Aleksey Kladov | 2020-02-29 | 24 | -28/+28 |
| |