Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | 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. | ||||
* | 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 | 2 | -2/+2 |
| | |||||
* | Add raw idents to lexer and parser | Josh Robson Chase | 2019-01-23 | 4 | -0/+42 |
| | |||||
* | 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 |
| | |||||
* | 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. | ||||
* | Fix where clauses using fully qualified path syntax | DJMcNab | 2018-12-21 | 4 | -8/+133 |
| | |||||
* | Add comment about the source of the weird_exprs test | DJMcNab | 2018-12-21 | 2 | -2235/+2248 |
| | |||||
* | Add weird_exprs test | DJMcNab | 2018-12-20 | 2 | -0/+2385 |
| | |||||
* | Run gen-tests | DJMcNab | 2018-12-20 | 2 | -0/+59 |
| | |||||
* | Fix the tests and fix the precommit hook | DJMcNab | 2018-12-20 | 245 | -546/+194 |
| | |||||
* | 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 | 4 | -33/+150 |
| | | | | 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()`. | ||||
* | rename Edit to TextEdit and AtomEdit to AtomTextEdit | Bernardo | 2018-12-11 | 1 | -19/+19 |
| | |||||
* | Update use path test | DJMcNab | 2018-12-05 | 2 | -74/+2 |
| |