Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix handling of literal patterns | Florian Diebold | 2019-02-09 | 1 | -15/+26 |
| | | | | | Wrap them in a LiteralPat node so they can be distinguished from literal expressions. | ||||
* | reformat the world | Aleksey Kladov | 2019-02-08 | 5 | -33/+7 |
| | |||||
* | 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/+9 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | 1 | -0/+2 |
| | | |||||
| * | Correctly parse inner attributes of impl blocks | DJMcNab | 2019-01-27 | 1 | -0/+7 |
| | | |||||
* | | Infer type of match guard | Marcus Klaas de Vries | 2019-01-28 | 1 | -2/+16 |
|/ | |||||
* | Stop using let_stmt twice | DJMcNab | 2019-01-27 | 1 | -43/+41 |
| | |||||
* | Make attrs be a child of the let statement | DJMcNab | 2019-01-26 | 2 | -7/+10 |
| | |||||
* | Support attributes on let statements | DJMcNab | 2019-01-26 | 1 | -20/+30 |
| | |||||
* | Struct literals should not be a `BlockLike::Block` | DJMcNab | 2019-01-26 | 1 | -1/+1 |
| | |||||
* | Merge #660 | bors[bot] | 2019-01-26 | 1 | -1/+23 |
|\ | | | | | | | | | | | | | | | 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 | 1 | -1/+23 |
| | | |||||
* | | rename POS_FIELD -> POS_FIELD_DEF | Aleksey Kladov | 2019-01-25 | 1 | -5/+5 |
|/ | | | | to match NAMED_FIELD_DEF | ||||
* | Reformat | DJMcNab | 2019-01-24 | 1 | -15/+16 |
| | |||||
* | Apply suggestions from code review | Daniel McNab | 2019-01-24 | 1 | -2/+1 |
| | | | Co-Authored-By: DJMcNab <[email protected]> | ||||
* | Dedupe PATH_FIRST in ATOM_EXPR_FIRST | DJMcNab | 2019-01-24 | 1 | -7/+2 |
| | |||||
* | Support universal function call syntax in function calls | DJMcNab | 2019-01-24 | 2 | -0/+3 |
| | |||||
* | Add test for placeholder parameters in trait fn defs | Erlend Tobiassen | 2019-01-22 | 1 | -0/+5 |
| | |||||
* | Allow placeholder parameters in trait fn defs | Erlend Tobiassen | 2019-01-22 | 1 | -1/+1 |
| | |||||
* | No need for is_type_start | Erlend Tobiassen | 2019-01-22 | 2 | -9/+1 |
| | |||||
* | Prefer TYPE_FIRST | Erlend Tobiassen | 2019-01-22 | 1 | -4/+4 |
| | |||||
* | Update tests after allowing where predicate to accept types | Erlend Tobiassen | 2019-01-22 | 1 | -0/+5 |
| | |||||
* | Optimistically bail out of where clause loop if not at start of a type or ↵ | Erlend Tobiassen | 2019-01-22 | 2 | -12/+24 |
| | | | | lifetime | ||||
* | Don't leave a marker hanging without completing it. | Erlend Tobiassen | 2019-01-22 | 1 | -2/+1 |
| | |||||
* | Allow types to the left of : in where predicates. | Erlend Tobiassen | 2019-01-22 | 1 | -24/+27 |
| | |||||
* | Change parsing of struct field patterns | Marcus Klaas de Vries | 2019-01-19 | 1 | -12/+11 |
| | |||||
* | Move parsing of field pattern lists to the parser (where it belongs) | Marcus Klaas de Vries | 2019-01-19 | 1 | -9/+17 |
| | |||||
* | make token set a const-fn | Aleksey Kladov | 2019-01-19 | 5 | -42/+33 |
| | |||||
* | Fix handling of attributes in positional field lists | DJMcNab | 2019-01-12 | 1 | -0/+10 |
| | |||||
* | Fix handling of where clauses in tuple structs | DJMcNab | 2019-01-10 | 1 | -0/+4 |
| | |||||
* | Rename traits::impl_item -> impl_block as well, as well as the tests | Florian Diebold | 2019-01-04 | 2 | -4/+4 |
| | |||||
* | Rename ImplItem to ImplBlock | Florian Diebold | 2019-01-04 | 1 | -1/+1 |
| | | | | | 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 | 1 | -0/+5 |
| | |||||
* | Improve parsing of incomplete field accesses in preparation for field completion | Florian Diebold | 2018-12-25 | 1 | -9/+7 |
| | | | | | 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 | 1 | -1/+6 |
| | |||||
* | Fix parsing of contextual_keyword union | DJMcNab | 2018-12-20 | 1 | -1/+1 |
| | |||||
* | Use a better way of skipping SEMIs | DJMcNab | 2018-12-20 | 1 | -6/+6 |
| | |||||
* | Support a blank expression before a semicolon | DJMcNab | 2018-12-20 | 1 | -0/+6 |
| | |||||
* | Fix the tests and fix the precommit hook | DJMcNab | 2018-12-20 | 6 | -9/+9 |
| | |||||
* | Fix missing DOTDOTEQs | DJMcNab | 2018-12-20 | 1 | -3/+3 |
| | |||||
* | Don't require a command before EQ in a where clause | DJMcNab | 2018-12-20 | 1 | -1/+1 |
| | |||||
* | Simplify NO_BLOCK testing | DJMcNab | 2018-12-20 | 2 | -11/+3 |
| | |||||
* | Fix ambiguity with if break | DJMcNab | 2018-12-20 | 2 | -5/+21 |
| | | | | Brought up by #290 | ||||
* | Add tests and only traverse in the crates directory | DJMcNab | 2018-12-19 | 2 | -2/+7 |
| | |||||
* | Move is_block to lower in the call tree | DJMcNab | 2018-12-19 | 2 | -54/+43 |
| | |||||
* | Revert "Revert to f6f7c5" | DJMcNab | 2018-12-19 | 2 | -19/+36 |
| | | | | | | This approach is correct, but it needs an addition to Restrictions too This reverts commit ad00d0c8a5f64142e6636e8b048204c8f8982f4a. | ||||
* | Fix handling of structs in match arms | DJMcNab | 2018-12-19 | 1 | -1/+1 |
| | |||||
* | Revert to f6f7c5 | DJMcNab | 2018-12-19 | 2 | -36/+19 |
| | |||||
* | Fix expression parsing by bailing out upon a macro block being found | DJMcNab | 2018-12-19 | 1 | -14/+12 |
| | | | | | | TODO: Fix this when the block like macro is in expression position E.g. `test(test!{})` currently parses |