aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/tests
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* Fix handling of where clauses in tuple structsDJMcNab2019-01-102-0/+64
|
* switch ra_syntax to new rowan APIAleksey Kladov2019-01-081-4/+4
|
* Rename traits::impl_item -> impl_block as well, as well as the testsFlorian Diebold2019-01-044-0/+0
|
* Rename ImplItem to ImplBlockFlorian Diebold2019-01-0415-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 testcsmoe2019-01-042-0/+22
|
* Fix the same bug as #396 but for bytes tooDJMcNab2019-01-011-0/+1
|
* Fix the `panic` found whilst fuzzingDJMcNab2018-12-311-0/+1
|
* Merge #366bors[bot]2018-12-302-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 literalcsmoe2018-12-302-33/+46
| |
* | Add fuzz failure to the fuzz-failures directoryDJMcNab2018-12-291-0/+1
|/
* fix suffix rangesAleksey Kladov2018-12-272-0/+79
|
* Improve parsing of incomplete field accesses in preparation for field completionFlorian Diebold2018-12-252-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.
* CleanupFlorian Diebold2018-12-231-25/+31
|
* Add testing infrastructure for type inferenceFlorian Diebold2018-12-231-100/+5
| | | | - move dir_tests to test_utils for that.
* Remove TODO on self_hosting_parsingDJMcNab2018-12-211-8/+4
| | | | | | This improving this code is not a good use of people-time, and this might be the most performant approach nonwithstanding an api for this use case being added to walkdir
* Fix where clauses using fully qualified path syntaxDJMcNab2018-12-214-8/+133
|
* Add comment about the source of the weird_exprs testDJMcNab2018-12-212-2235/+2248
|
* Add weird_exprs testDJMcNab2018-12-202-0/+2385
|
* Run gen-testsDJMcNab2018-12-202-0/+59
|
* Fix the tests and fix the precommit hookDJMcNab2018-12-20246-547/+195
|
* Change parser tests dir to inline/ok and inline/errDJMcNab2018-12-201-2/+2
|
* Ensure that the parser tests pass or fail correctlyDJMcNab2018-12-201-8/+26
|
* Fix ambiguity with if breakDJMcNab2018-12-202-0/+71
| | | | Brought up by #290
* Add tests and only traverse in the crates directoryDJMcNab2018-12-195-92/+178
|
* Move is_block to lower in the call treeDJMcNab2018-12-192-61/+61
|
* Revert "Revert to f6f7c5"DJMcNab2018-12-191-3/+0
| | | | | | This approach is correct, but it needs an addition to Restrictions too This reverts commit ad00d0c8a5f64142e6636e8b048204c8f8982f4a.
* Revert to f6f7c5DJMcNab2018-12-191-0/+3
|
* Fix expression parsing by bailing out upon a macro block being foundDJMcNab2018-12-191-3/+0
| | | | | | TODO: Fix this when the block like macro is in expression position E.g. `test(test!{})` currently parses