aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/tests
Commit message (Collapse)AuthorAgeFilesLines
* Add fuzz test for reparsingpcpthm2019-03-211-0/+9
|
* Refactor parser fuzz testingpcpthm2019-03-211-2/+2
|
* Error about attributes onpcpthm2019-03-192-0/+59
| | | | unallowed types of expression statement
* Allow attributes on top level expressionpcpthm2019-03-194-0/+152
| | | | | | A top level expression is either - a expression statement or - the last expression in a block
* Merge #991bors[bot]2019-03-188-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 parserspcpthm2019-03-188-10/+88
| | | | | | | | | | - Fix pub_expr - Fix incorrect parsing of crate::path
* | Merge #983bors[bot]2019-03-172-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 operatorJean Mertz2019-03-172-0/+217
| | |
* | | Fix parse tree of attribute on match armpcpthm2019-03-173-118/+118
| |/ |/|
* | Allow attribute on struct literal fieldpcpthm2019-03-172-0/+48
|/
* Add test for minus in inner patternMichael Chesser2019-03-142-0/+347
|
* Add test for async blockCaio2019-03-102-0/+32
|
* Add async keywordCaio2019-03-094-1/+20
|
* Add support for parsing multiple if and while-let patternsVille Penttinen2019-03-042-1/+164
|
* allow `mut ident` patterns in trait methodsAleksey Kladov2019-03-042-11/+26
| | | | closes #928
* allow aliases in underscoresAleksey Kladov2019-03-042-1/+17
| | | | | | | | this helps with use foo::Trait as _; syntax
* Merge #926bors[bot]2019-03-042-0/+50
|\ | | | | | | | | | | | | | | 926: allow vararg functions r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]>
| * allow vararg functionsAleksey Kladov2019-03-042-0/+50
| |
* | improve error recoveryAleksey Kladov2019-03-043-42/+70
|/ | | | parse the contents of error block as an expression
* rename type to type_alias in the AST as wellAleksey Kladov2019-02-2528-37/+37
|
* kill utils moduleAleksey Kladov2019-02-211-6/+3
|
* Enable parsing attributes for generic lifetimes and type parametersVille Penttinen2019-02-172-0/+63
|
* Parse only outer_attributes for match arms for nowVille Penttinen2019-02-171-31/+59
|
* Enable parsing of attributes inside a match blockVille Penttinen2019-02-178-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_nodeAleksey Kladov2019-02-121-2/+2
| | | | why yellow in the first place? Its red + green.
* make macro a NameOwnerAleksey Kladov2019-02-113-3/+6
|
* Fix handling of literal patternsFlorian Diebold2019-02-093-25/+37
| | | | | Wrap them in a LiteralPat node so they can be distinguished from literal expressions.
* reformat the worldAleksey Kladov2019-02-081-36/+23
|
* Add AST for extern crateFlorian Diebold2019-02-042-3/+3
| | | | Also change it to parse the crate name as a NAME_REF, not a NAME.
* Fix number of extern_inner_attributesDJMcNab2019-02-022-0/+0
|
* Merge #692bors[bot]2019-01-318-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 blocksDJMcNab2019-01-284-0/+316
| |
| * Add a test for inner attributes on extern blocksDJMcNab2019-01-272-0/+30
| |
| * Correctly parse inner attributes of impl blocksDJMcNab2019-01-272-0/+43
| |
* | Infer type of match guardMarcus Klaas de Vries2019-01-283-40/+95
|/
* Make attrs be a child of the let statementDJMcNab2019-01-261-16/+16
|
* Support attributes on let statementsDJMcNab2019-01-262-0/+78
|
* Struct literals should not be a `BlockLike::Block`DJMcNab2019-01-262-0/+117
|
* Merge #660bors[bot]2019-01-262-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 positionErlend Tobiassen2019-01-252-0/+45
| |
* | rename POS_FIELD -> POS_FIELD_DEFAleksey Kladov2019-01-258-26/+26
|/ | | | to match NAMED_FIELD_DEF
* Support universal function call syntax in function callsDJMcNab2019-01-244-6/+223
|
* More correct raw ident handlingJosh Robson Chase2019-01-232-0/+50
|
* Use IDENT for both raw and normal identsJosh Robson Chase2019-01-233-3/+3
|
* Add raw idents to lexer and parserJosh Robson Chase2019-01-236-0/+45
|
* Add test for placeholder parameters in trait fn defsErlend Tobiassen2019-01-222-0/+35
|
* Update tests after allowing where predicate to accept typesErlend Tobiassen2019-01-224-20/+63
|
* Change parsing of struct field patternsMarcus Klaas de Vries2019-01-191-12/+10
|
* Finish move of StructField for pattern type inferenceMarcus Klaas de Vries2019-01-191-20/+26
|
* Fix handling of attributes in positional field listsDJMcNab2019-01-122-0/+43
|