aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/test_data/parser
Commit message (Collapse)AuthorAgeFilesLines
* Introduce dedicated AST node for unionAleksey Kladov2019-11-252-3/+3
| | | | | | | | | | Although structs and unions have the same syntax and differ only in the keyword, re-using the single syntax node for both of them leads to confusion in practice, and propagates further down the hir in an upleasent way. Moreover, static and consts also share syntax, but we use different nodes for them.
* Attempt to implement typed accessorsGeoffry Song2019-11-151-1/+1
|
* Move inclusive range check to validationGeoffry Song2019-11-152-8/+15
|
* Fix parsing of "postfix" range expressions.Geoffry Song2019-11-156-0/+118
| | | | | | | | | | Right now they are handled in `postfix_dot_expr`, but that doesn't allow it to correctly handle precedence. Integrate it more tightly with the Pratt parser instead. Also includes a drive-by fix for parsing `match .. {}`. Fixes #2242.
* Forbid visibility qualifiers in traitsAleksey Kladov2019-11-112-0/+105
|
* fix parsing of for loops inside expressionsAleksey Kladov2019-10-283-48/+149
| | | | closes #2051
* Merge #1951bors[bot]2019-10-084-0/+150
|\ | | | | | | | | | | | | | | | | | | | | | | | | 1951: Lower the precedence of the `as` operator. r=matklad a=goffrie Previously, the `as` operator was being parsed like a postfix expression, and therefore being given the highest possible precedence. That caused it to bind more tightly than prefix operators, which it should not. Instead, parse it somewhat like a normal binary expression with some special-casing. Fixes #1851. Co-authored-by: Geoffry Song <[email protected]>
| * Move tests aroundGeoffry Song2019-10-068-141/+193
| |
| * Lower the precedence of the `as` operator.Geoffry Song2019-10-034-43/+141
| | | | | | | | | | | | | | Previously, the `as` operator was being parsed like a postfix expression, and therefore being given the highest possible precedence. That caused it to bind more tightly than prefix operators, which it should not. Instead, parse it somewhat like a normal binary expression with some special-casing.
* | Fix parsing of block expressions in "forbid_structs" contexts.Geoffry Song2019-10-038-43/+216
|/ | | | | | Forbidding block expressions entirely is too strict; instead, we should only forbid them in contexts where we are parsing an optional RHS (i.e. the RHS of a range expression).
* Parse correct AttrInputuHOOCCOOHu2019-09-3030-598/+779
|
* Support loop as argumentkjeremy2019-09-202-0/+64
|
* Merge #1884bors[bot]2019-09-202-0/+79
|\ | | | | | | | | | | | | | | 1884: Add indexing to record_field_pat r=matklad a=kjeremy Fixes #1870 Co-authored-by: kjeremy <[email protected]>
| * Add indexing to record_field_patkjeremy2019-09-202-0/+79
| |
* | fix infinite loop in the parserAleksey Kladov2019-09-202-0/+53
|/ | | | closes #1866
* don't confuse macro with !=Aleksey Kladov2019-09-202-0/+69
| | | | closes #1871
* Merge #1848bors[bot]2019-09-157-5/+491
|\ | | | | | | | | | | | | | | | | | | | | | | 1848: Parse `..` as a full pattern r=matklad a=ecstatic-morse Resolves #1479. This PR implements [RFC 2707](https://github.com/rust-lang/rfcs/pull/2707) in the parser. It introduces a new `DotDotPat` AST node modeled on `PlaceholderPat` and changes the parsing of tuple and slice patterns to conform to the RFC. Notably, this PR does *not* change the resulting AST when `..` appears in a struct pattern (e.g. `Struct { a, b: c, .. }`). I *think* this is the behavior mandated by RFC 2707, but someone should confirm this. Co-authored-by: Dylan MacKenzie <[email protected]>
| * Generate `dot_dot_test`Dylan MacKenzie2019-09-152-0/+481
| |
| * Bless old tests containing a `..` patternDylan MacKenzie2019-09-155-5/+10
| |
* | Add tests for underscores in `const` and `static` itemsDylan MacKenzie2019-09-153-38/+78
| |
* | Allow an underscore as the identifier in `const` itemsDylan MacKenzie2019-09-151-0/+1
|/
* add a jointness parser testsAleksey Kladov2019-09-102-0/+55
| | | | cc https://github.com/rust-lang/rust/issues/64242
* WIP: switch to fully decomposed tokens internallyAleksey Kladov2019-09-102-0/+131
|
* Fix outer doc-comments of `macro_rules`uHOOCCOOHu2019-09-092-0/+42
|
* better error recovery for use treesAleksey Kladov2019-09-053-1/+60
|
* update test dataAleksey Kladov2019-09-02150-8970/+9245
|
* Generate and bless testsDylan MacKenzie2019-08-247-85/+227
|
* Centralize `box` pattern tests in `patterns.rs`Dylan MacKenzie2019-08-241-0/+6
|
* rename struct -> record, pos -> tupleAleksey Kladov2019-08-2336-126/+126
|
* Add test for nested box patternDylan MacKenzie2019-08-222-12/+49
|
* Merge #1685bors[bot]2019-08-154-0/+129
|\ | | | | | | | | | | | | | | 1685: fix error of RangeFrom in for-loop r=DJMcNab a=bravomikekilo fix [issue-1542](https://github.com/rust-analyzer/rust-analyzer/issues/1542) @matklad Co-authored-by: bravomikekilo <[email protected]>
| * fix test positionbravomikekilo2019-08-145-108/+124
| |
| * fix testbravomikekilo2019-08-141-2/+2
| |
| * fix error of RangeFrom in for-loopbravomikekilo2019-08-142-0/+113
| |
* | Merge #1676bors[bot]2019-08-142-1/+83
|\ \ | |/ |/| | | | | | | | | | | 1676: Fix for<'lifetime> for types specified by path r=matklad a=eupn Fixes #1467. Co-authored-by: Evgenii P <[email protected]>
| * Fix for<'lifetime> for types specified by pathEvgenii P2019-08-112-1/+83
| |
* | Merge #1636bors[bot]2019-08-132-0/+69
|\ \ | |/ |/| | | | | | | | | | | 1636: fix block parse problem r=matklad a=bravomikekilo try to fix [issue-1598](https://github.com/rust-analyzer/rust-analyzer/issues/1598). Co-authored-by: bravomikekilo <[email protected]>
| * add inline testbravomikekilo2019-08-132-0/+69
| |
* | Move numeric names inside of `NameRef`Aleksey Kladov2019-08-093-7/+12
| |
* | Parse tuple struct field initializationEvgenii P2019-08-092-6/+28
| |
* | Merge #1661bors[bot]2019-08-086-0/+555
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1661: Parse function parameters attributes r=matklad a=eupn Fixes #1397. The [RFC-2565](https://github.com/rust-lang/rfcs/blob/master/text/2565-formal-function-parameter-attributes.md) specifies `#[attributes]` to function parameters: ```rust fn foo(#[attr] a, #[unused] b, #[must_use] ...) { // ... } ``` This PR adds those attributes into grammar and to the parser, extending corresponding inline tests. Co-authored-by: Evgenii P <[email protected]>
| * | Fix parser tests according to reviewEvgenii P2019-08-0818-485/+576
| | |
| * | Fix variadic arg inline testEvgenii P2019-08-072-24/+24
| | |
| * | Add function parameters attributesEvgenii P2019-08-0712-21/+485
| |/
* / assoc types boundsAleksey Kladov2019-08-072-0/+56
|/
* move syntax tests to unit testsAleksey Kladov2019-07-24470-0/+20115