Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Add test for async block | Caio | 2019-03-10 | 2 | -0/+32 |
| | |||||
* | Add async keyword | Caio | 2019-03-09 | 2 | -0/+17 |
| | |||||
* | 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 | ||||
* | allow vararg functions | Aleksey Kladov | 2019-03-04 | 2 | -0/+50 |
| | |||||
* | rename type to type_alias in the AST as well | Aleksey Kladov | 2019-02-25 | 28 | -37/+37 |
| | |||||
* | Enable parsing attributes for generic lifetimes and type parameters | Ville Penttinen | 2019-02-17 | 2 | -0/+63 |
| | |||||
* | Enable parsing of attributes inside a match block | Ville Penttinen | 2019-02-17 | 4 | -0/+229 |
| | | | | | | | 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. | ||||
* | make macro a NameOwner | Aleksey Kladov | 2019-02-11 | 2 | -2/+4 |
| | |||||
* | Fix handling of literal patterns | Florian Diebold | 2019-02-09 | 2 | -21/+31 |
| | | | | | Wrap them in a LiteralPat node so they can be distinguished from literal expressions. | ||||
* | Add AST for extern crate | Florian Diebold | 2019-02-04 | 1 | -1/+1 |
| | | | | Also change it to parse the crate name as a NAME_REF, not a NAME. | ||||
* | Merge #692 | bors[bot] | 2019-01-31 | 2 | -0/+43 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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]> | ||||
| * | 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 |
|/ | |||||
* | 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 | 3 | -10/+10 |
|/ | | | | to match NAMED_FIELD_DEF | ||||
* | Support universal function call syntax in function calls | DJMcNab | 2019-01-24 | 2 | -6/+85 |
| | |||||
* | 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 | 1 | -12/+13 |
| | |||||
* | 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 |
| | |||||
* | 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 | 11 | -16/+16 |
| | | | | | rustc uses the name ImplItem for items in impls, not the impl {} block itself, which could lead to confusion. | ||||
* | parse minus before number literal | csmoe | 2018-12-30 | 2 | -33/+46 |
| | |||||
* | Fix where clauses using fully qualified path syntax | DJMcNab | 2018-12-21 | 2 | -8/+37 |
| | |||||
* | Run gen-tests | DJMcNab | 2018-12-20 | 2 | -0/+59 |
| | |||||
* | Fix the tests and fix the precommit hook | DJMcNab | 2018-12-20 | 239 | -268/+173 |
| | |||||
* | Fix ambiguity with if break | DJMcNab | 2018-12-20 | 2 | -0/+71 |
| | | | | Brought up by #290 | ||||
* | Add tests and only traverse in the crates directory | DJMcNab | 2018-12-19 | 4 | -87/+168 |
| | |||||
* | Move is_block to lower in the call tree | DJMcNab | 2018-12-19 | 2 | -61/+61 |
| | |||||
* | Fix parsing of inclusive ranges (#214) | DJMcNab | 2018-12-19 | 2 | -27/+65 |
| | | | | I'm not certain that this is correct, so extra eyes would be good | ||||
* | Fixed cast expression parsing in ra_syntax. | Roland Ruckerbauer | 2018-12-17 | 2 | -6/+48 |
| | | | | | | | | | | | | | | | | | | | | | | The cast expression expected any type via types::type_() function, but the language spec does only allow TypeNoBounds (types without direct extra bounds via `+`). **Example:** ```rust fn test() { 6i8 as i32 + 5; } ``` This fails, because the types::type_() function which should parse the type after the as keyword is greedy, and takes all plus sign after path types as extra. My proposed fix is to replace the not implemented `type_no_plus()` just calls (`type_()`) function, which is used at several places. The replacement is `type_with_bounds_cond(p: &mut Parser, allow_bounds: bool)`, which passes the condition to relevant sub-parsers. This function is then called by `type_()` and the new public `type_no_bounds()`. | ||||
* | Update use path test | DJMcNab | 2018-12-05 | 2 | -74/+2 |
| | |||||
* | Improve/add the use_item documentation | DJMcNab | 2018-12-05 | 10 | -0/+485 |
| | |||||
* | rename ROOT -> SOURCE_FILE | Aleksey Kladov | 2018-11-07 | 113 | -113/+113 |
| | |||||
* | grammar: for predicates in where | Aleksey Kladov | 2018-11-05 | 2 | -0/+62 |
| | | | | closes #191 | ||||
* | Support leading pipe in match arms | Daniel McNab | 2018-10-03 | 2 | -12/+56 |
| | |||||
* | support 2018 paths | Aleksey Kladov | 2018-09-29 | 2 | -0/+16 |
| | |||||
* | generate testsuite for impl_type | csmoe | 2018-09-26 | 2 | -0/+83 |
| | |||||
* | rename all things | Aleksey Kladov | 2018-09-16 | 219 | -0/+5401 |