Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Fix parsing of "postfix" range expressions. | Geoffry Song | 2019-11-15 | 1 | -30/+24 |
| | | | | | | | | | | 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. | ||||
* | Simplify parsing | Aleksey Kladov | 2019-11-14 | 2 | -19/+19 |
| | |||||
* | cargo xtask format with 1.39 | kjeremy | 2019-11-07 | 1 | -3/+3 |
| | |||||
* | fix parsing of for loops inside expressions | Aleksey Kladov | 2019-10-28 | 1 | -1/+2 |
| | | | | closes #2051 | ||||
* | Merge #1951 | bors[bot] | 2019-10-08 | 1 | -1/+10 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | 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 around | Geoffry Song | 2019-10-06 | 1 | -6/+5 |
| | | |||||
| * | Lower the precedence of the `as` operator. | Geoffry Song | 2019-10-03 | 1 | -2/+12 |
| | | | | | | | | | | | | | | 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 Song | 2019-10-03 | 2 | -10/+25 |
|/ | | | | | | 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). | ||||
* | Merge branch 'master' into feature/issue/1856 | Alexander Andreev | 2019-09-30 | 1 | -2/+17 |
|\ | | | | | | | | | # Conflicts: # crates/ra_assists/src/ast_editor.rs | ||||
| * | Fixes | uHOOCCOOHu | 2019-09-30 | 1 | -10/+8 |
| | | |||||
| * | Parse correct AttrInput | uHOOCCOOHu | 2019-09-30 | 1 | -2/+19 |
| | | |||||
* | | Added test for check doc strings in crates. | Alexander Andreev | 2019-09-30 | 18 | -1/+35 |
|/ | | | | #1856 | ||||
* | Start simplifying editing API | Aleksey Kladov | 2019-09-26 | 1 | -1/+0 |
| | |||||
* | simplify | Aleksey Kladov | 2019-09-24 | 1 | -0/+5 |
| | |||||
* | Support loop as argument | kjeremy | 2019-09-20 | 1 | -0/+1 |
| | |||||
* | Simplify match arm | kjeremy | 2019-09-20 | 1 | -2/+1 |
| | |||||
* | Merge #1884 | bors[bot] | 2019-09-20 | 1 | -2/+12 |
|\ | | | | | | | | | | | | | | | 1884: Add indexing to record_field_pat r=matklad a=kjeremy Fixes #1870 Co-authored-by: kjeremy <[email protected]> | ||||
| * | Apply suggestion | kjeremy | 2019-09-20 | 1 | -3/+2 |
| | | |||||
| * | Add indexing to record_field_pat | kjeremy | 2019-09-20 | 1 | -2/+13 |
| | | |||||
* | | fix infinite loop in the parser | Aleksey Kladov | 2019-09-20 | 1 | -7/+11 |
|/ | | | | closes #1866 | ||||
* | Merge #1881 | bors[bot] | 2019-09-20 | 1 | -1/+1 |
|\ | | | | | | | | | | | | | | | 1881: don't confuse macro with != r=matklad a=matklad Co-authored-by: Aleksey Kladov <[email protected]> | ||||
| * | don't confuse macro with != | Aleksey Kladov | 2019-09-20 | 1 | -1/+1 |
| | | | | | | | | closes #1871 | ||||
* | | Replace usages of bump_any with bump | kjeremy | 2019-09-19 | 14 | -87/+87 |
|/ | |||||
* | Merge #1848 | bors[bot] | 2019-09-15 | 2 | -10/+43 |
|\ | | | | | | | | | | | | | | | | | | | | | | | 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]> | ||||
| * | Parse `..` as a proper pattern | Dylan MacKenzie | 2019-09-15 | 1 | -10/+42 |
| | | |||||
| * | Add `DotDotPat` to AST | Dylan MacKenzie | 2019-09-15 | 1 | -0/+1 |
| | | | | | | | | This is modeled on `PlaceholderPat`. | ||||
* | | Allow an underscore as the identifier in `const` items | Dylan MacKenzie | 2019-09-15 | 2 | -2/+11 |
|/ | |||||
* | don't break parser error recovery in presence of macros | Aleksey Kladov | 2019-09-12 | 1 | -2/+2 |
| | | | | | | | Parser has the invariant that `{}` are balanced. Previous code tried (unsucesfuly) maintain the same invariant for `$()` as well, but it was done in a rather ad-hoc manner: it's not at all obvious that it is possible to maintain both invariants! | ||||
* | cleanup dollar handling in expressions | Aleksey Kladov | 2019-09-10 | 3 | -96/+51 |
| | |||||
* | "Fix" mbe to work with decomposed tokens | Aleksey Kladov | 2019-09-10 | 1 | -57/+0 |
| | | | | We regressed $i * 2 where $i = 1 + 1, need to fix that! | ||||
* | WIP: switch to fully decomposed tokens internally | Aleksey Kladov | 2019-09-10 | 9 | -279/+277 |
| | |||||
* | introduce bump as a better-checked alternative to bump_any | Aleksey Kladov | 2019-09-09 | 2 | -2/+8 |
| | |||||
* | rename bump -> bump_any | Aleksey Kladov | 2019-09-09 | 16 | -132/+132 |
| | |||||
* | tiny simplification | Aleksey Kladov | 2019-09-09 | 4 | -5/+8 |
| | |||||
* | better error recovery for use trees | Aleksey Kladov | 2019-09-05 | 2 | -2/+5 |
| | |||||
* | always wrap block into an expression | Aleksey Kladov | 2019-09-02 | 3 | -3/+8 |
| | |||||
* | simplify | Aleksey Kladov | 2019-09-02 | 2 | -56/+35 |
| | |||||
* | cleanup | Aleksey Kladov | 2019-09-02 | 5 | -90/+86 |
| | |||||
* | Handle `Struct { box i }` syntax | Dylan MacKenzie | 2019-08-24 | 1 | -0/+3 |
| | | | | | | Named structs can have `box` patterns that will bind to their fields. This is similar to the behavior of the `ref` and `mut` fields, but is at least a little bit surprising. | ||||
* | Centralize `box` pattern tests in `patterns.rs` | Dylan MacKenzie | 2019-08-24 | 2 | -7/+0 |
| | |||||
* | Parse `BoxPat` | Dylan MacKenzie | 2019-08-24 | 1 | -19/+32 |
| | |||||
* | Add `BoxPat` variant | Dylan MacKenzie | 2019-08-23 | 1 | -0/+1 |
| | |||||
* | rename struct -> record, pos -> tuple | Aleksey Kladov | 2019-08-23 | 6 | -44/+44 |
| | |||||
* | Add test for nested box pattern | Dylan MacKenzie | 2019-08-22 | 1 | -0/+2 |
| | |||||
* | Add BOX_KW to PATTERN_FIRST | Dylan MacKenzie | 2019-08-22 | 1 | -1/+1 |
| | |||||
* | use derive(Debug) for SyntaxKind | Aleksey Kladov | 2019-08-19 | 2 | -255/+9 |
| | |||||
* | plug new boilerplate_gen into ra_tools | Aleksey Kladov | 2019-08-19 | 1 | -4/+0 |
| | |||||
* | use new quote-generated syntax kinds | Aleksey Kladov | 2019-08-19 | 2 | -577/+538 |
| | |||||
* | Merge #1685 | bors[bot] | 2019-08-15 | 1 | -1/+13 |
|\ | | | | | | | | | | | | | | | 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 position | bravomikekilo | 2019-08-14 | 1 | -10/+6 |
| | |