Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add fuzz test for reparsing | pcpthm | 2019-03-21 | 1 | -0/+9 |
| | |||||
* | Refactor parser fuzz testing | pcpthm | 2019-03-21 | 1 | -2/+2 |
| | |||||
* | Error about attributes on | pcpthm | 2019-03-19 | 2 | -0/+59 |
| | | | | unallowed types of expression statement | ||||
* | Allow attributes on top level expression | pcpthm | 2019-03-19 | 4 | -0/+152 |
| | | | | | | A top level expression is either - a expression statement or - the last expression in a block | ||||
* | Merge #991 | bors[bot] | 2019-03-18 | 8 | -10/+88 |
|\ | | | | | | | | | | | | | | | | | | | | | | | 991: Use Marker argument for item parsers r=matklad a=pcpthm Before doing this for expressions, I found that the pattern (Marker argument) should be applied to the item parsers because visiblity and modifiers are parsed in a separate function. Fixed some parser bugs: - Fix pub_expr: `pub 42;` was allowed. - Fix incorrect parsing of crate::path: incorrectly parsed as `crate` as a visibility. Co-authored-by: pcpthm <[email protected]> | ||||
| * | Use Marker argument for item parsers | pcpthm | 2019-03-18 | 8 | -10/+88 |
| | | | | | | | | | | - Fix pub_expr - Fix incorrect parsing of crate::path | ||||
* | | Merge #983 | bors[bot] | 2019-03-17 | 2 | -0/+217 |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 983: support remainder assignment operator r=matklad a=JeanMertz `%=` was returning errors for me, turns out it wasn't added as a valid assignment operation. I'm not sure what the best location would be to add a test for this. Please let me know and I'll add one. Co-authored-by: Jean Mertz <[email protected]> | ||||
| * | | support remainder assignment operator | Jean Mertz | 2019-03-17 | 2 | -0/+217 |
| | | | |||||
* | | | Fix parse tree of attribute on match arm | pcpthm | 2019-03-17 | 3 | -118/+118 |
| |/ |/| | |||||
* | | Allow attribute on struct literal field | pcpthm | 2019-03-17 | 2 | -0/+48 |
|/ | |||||
* | Add test for minus in inner pattern | Michael Chesser | 2019-03-14 | 2 | -0/+347 |
| | |||||
* | Add test for async block | Caio | 2019-03-10 | 2 | -0/+32 |
| | |||||
* | Add async keyword | Caio | 2019-03-09 | 4 | -1/+20 |
| | |||||
* | Add support for parsing multiple if and while-let patterns | Ville Penttinen | 2019-03-04 | 2 | -1/+164 |
| | |||||
* | allow `mut ident` patterns in trait methods | Aleksey Kladov | 2019-03-04 | 2 | -11/+26 |
| | | | | closes #928 | ||||
* | 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 |
| |