Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | allow aliases in underscores | Aleksey Kladov | 2019-03-04 | 2 | -1/+17 |
| | | | | | | | | this helps with use foo::Trait as _; syntax | ||||
* | Merge #926 | bors[bot] | 2019-03-04 | 2 | -0/+50 |
|\ | | | | | | | | | | | | | | | 926: allow vararg functions r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | allow vararg functions | Aleksey Kladov | 2019-03-04 | 2 | -0/+50 |
| | | |||||
* | | improve error recovery | Aleksey Kladov | 2019-03-04 | 3 | -42/+70 |
|/ | | | | parse the contents of error block as an expression | ||||
* | rename type to type_alias in the AST as well | Aleksey Kladov | 2019-02-25 | 28 | -37/+37 |
| | |||||
* | kill utils module | Aleksey Kladov | 2019-02-21 | 1 | -6/+3 |
| | |||||
* | Enable parsing attributes for generic lifetimes and type parameters | Ville Penttinen | 2019-02-17 | 2 | -0/+63 |
| | |||||
* | Parse only outer_attributes for match arms for now | Ville Penttinen | 2019-02-17 | 1 | -31/+59 |
| | |||||
* | Enable parsing of attributes inside a match block | Ville Penttinen | 2019-02-17 | 8 | -0/+493 |
| | | | | | | | We allow invalid inner attributes to be parsed, e.g. inner attributes that are not directly after the opening brace of the match block. Instead we run validation on `MatchArmList` to allow better reporting of errors. | ||||
* | rename yellow -> syntax_node | Aleksey Kladov | 2019-02-12 | 1 | -2/+2 |
| | | | | why yellow in the first place? Its red + green. | ||||
* | make macro a NameOwner | Aleksey Kladov | 2019-02-11 | 3 | -3/+6 |
| | |||||
* | Fix handling of literal patterns | Florian Diebold | 2019-02-09 | 3 | -25/+37 |
| | | | | | Wrap them in a LiteralPat node so they can be distinguished from literal expressions. | ||||
* | reformat the world | Aleksey Kladov | 2019-02-08 | 1 | -36/+23 |
| | |||||
* | Add AST for extern crate | Florian Diebold | 2019-02-04 | 2 | -3/+3 |
| | | | | Also change it to parse the crate name as a NAME_REF, not a NAME. | ||||
* | Fix number of extern_inner_attributes | DJMcNab | 2019-02-02 | 2 | -0/+0 |
| | |||||
* | Merge #692 | bors[bot] | 2019-01-31 | 8 | -0/+389 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 692: [WIP] Correctly parse attributes r=matklad a=DJMcNab Reference - https://doc.rust-lang.org/reference/attributes.html This fixes/investigates inner attributes for: - [x] `impl` blocks - [x] `extern` blocks - [x] `fn`s (fixes #689) - [x] `mod`s (already supported) - [x] 'block expressions' (the long text just describes all 'blocks' used as statements) This also investigates/fixes outer attributes for: - [ ] 'most statements' (see also: #685, https://doc.rust-lang.org/reference/expressions.html#expression-attributes) - [x] Enum variants, Struct and Union fields (Fixed in #507) - [ ] 'Match expression arms' (@matklad can you provide a test case which explains what this means?) - [ ] 'Generic lifetime or type parameters' - [ ] 'Elements of array expressions, tuple expressions, call expressions, tuple-style struct and enum variant expressions' - [ ] 'The tail expression of block expressions' Co-authored-by: DJMcNab <[email protected]> | ||||
| * | Parse and validate attributes in blocks | DJMcNab | 2019-01-28 | 4 | -0/+316 |
| | | |||||
| * | Add a test for inner attributes on extern blocks | DJMcNab | 2019-01-27 | 2 | -0/+30 |
| | | |||||
| * | Correctly parse inner attributes of impl blocks | DJMcNab | 2019-01-27 | 2 | -0/+43 |
| | | |||||
* | | Infer type of match guard | Marcus Klaas de Vries | 2019-01-28 | 3 | -40/+95 |
|/ | |||||
* | Make attrs be a child of the let statement | DJMcNab | 2019-01-26 | 1 | -16/+16 |
| | |||||
* | Support attributes on let statements | DJMcNab | 2019-01-26 | 2 | -0/+78 |
| | |||||
* | Struct literals should not be a `BlockLike::Block` | DJMcNab | 2019-01-26 | 2 | -0/+117 |
| | |||||
* | Merge #660 | bors[bot] | 2019-01-26 | 2 | -0/+45 |
|\ | | | | | | | | | | | | | | | 660: Support macro calls in type position r=matklad a=regiontog A [playground](https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=fdc6dd4ddaece92a72fa2a292b75e27c) demonstrating the syntax in question. Co-authored-by: Erlend Tobiassen <[email protected]> | ||||
| * | Support macro calls in type position | Erlend Tobiassen | 2019-01-25 | 2 | -0/+45 |
| | | |||||
* | | rename POS_FIELD -> POS_FIELD_DEF | Aleksey Kladov | 2019-01-25 | 8 | -26/+26 |
|/ | | | | to match NAMED_FIELD_DEF | ||||
* | Support universal function call syntax in function calls | DJMcNab | 2019-01-24 | 4 | -6/+223 |
| | |||||
* | More correct raw ident handling | Josh Robson Chase | 2019-01-23 | 2 | -0/+50 |
| | |||||
* | Use IDENT for both raw and normal idents | Josh Robson Chase | 2019-01-23 | 3 | -3/+3 |
| | |||||
* | Add raw idents to lexer and parser | Josh Robson Chase | 2019-01-23 | 6 | -0/+45 |
| | |||||
* | Add test for placeholder parameters in trait fn defs | Erlend Tobiassen | 2019-01-22 | 2 | -0/+35 |
| | |||||
* | Update tests after allowing where predicate to accept types | Erlend Tobiassen | 2019-01-22 | 4 | -20/+63 |
| | |||||
* | Change parsing of struct field patterns | Marcus Klaas de Vries | 2019-01-19 | 1 | -12/+10 |
| | |||||
* | Finish move of StructField for pattern type inference | Marcus Klaas de Vries | 2019-01-19 | 1 | -20/+26 |
| | |||||
* | Fix handling of attributes in positional field lists | DJMcNab | 2019-01-12 | 2 | -0/+43 |
| | |||||
* | Fix handling of where clauses in tuple structs | DJMcNab | 2019-01-10 | 2 | -0/+64 |
| | |||||
* | switch ra_syntax to new rowan API | Aleksey Kladov | 2019-01-08 | 1 | -4/+4 |
| | |||||
* | Rename traits::impl_item -> impl_block as well, as well as the tests | Florian Diebold | 2019-01-04 | 4 | -0/+0 |
| | |||||
* | Rename ImplItem to ImplBlock | Florian Diebold | 2019-01-04 | 15 | -21/+20 |
| | | | | | rustc uses the name ImplItem for items in impls, not the impl {} block itself, which could lead to confusion. | ||||
* | add mod doc comment test | csmoe | 2019-01-04 | 2 | -0/+22 |
| | |||||
* | Fix the same bug as #396 but for bytes too | DJMcNab | 2019-01-01 | 1 | -0/+1 |
| | |||||
* | Fix the `panic` found whilst fuzzing | DJMcNab | 2018-12-31 | 1 | -0/+1 |
| | |||||
* | Merge #366 | bors[bot] | 2018-12-30 | 2 | -33/+46 |
|\ | | | | | | | | | | | | | | | | | | | | | 366: parse minus before number literal pattern r=matklad a=csmoe r?@matklad ![unknown](https://user-images.githubusercontent.com/35686186/50547871-d5449e00-0c7d-11e9-9ff5-1031e78019de.png) Co-authored-by: csmoe <[email protected]> | ||||
| * | parse minus before number literal | csmoe | 2018-12-30 | 2 | -33/+46 |
| | | |||||
* | | Add fuzz failure to the fuzz-failures directory | DJMcNab | 2018-12-29 | 1 | -0/+1 |
|/ | |||||
* | fix suffix ranges | Aleksey Kladov | 2018-12-27 | 2 | -0/+79 |
| | |||||
* | Improve parsing of incomplete field accesses in preparation for field completion | Florian Diebold | 2018-12-25 | 2 | -0/+38 |
| | | | | | We need to be able to get the receiver even if there is no field name yet, and currently "a." wouldn't get parsed as a field name at all. This seems to help. | ||||
* | Cleanup | Florian Diebold | 2018-12-23 | 1 | -25/+31 |
| | |||||
* | Add testing infrastructure for type inference | Florian Diebold | 2018-12-23 | 1 | -100/+5 |
| | | | | - move dir_tests to test_utils for that. | ||||
* | Remove TODO on self_hosting_parsing | DJMcNab | 2018-12-21 | 1 | -8/+4 |
| | | | | | | This improving this code is not a good use of people-time, and this might be the most performant approach nonwithstanding an api for this use case being added to walkdir |