Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
| * | 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 | |
| | | ||||||
| * | fix error of RangeFrom in for-loop | bravomikekilo | 2019-08-14 | 1 | -1/+17 | |
| | | ||||||
* | | Merge #1676 | bors[bot] | 2019-08-14 | 8 | -12/+17 | |
|\ \ | |/ |/| | | | | | | | | | | | 1676: Fix for<'lifetime> for types specified by path r=matklad a=eupn Fixes #1467. Co-authored-by: Evgenii P <[email protected]> | |||||
| * | Fix is_path_start to accept T![<], fix is_path_start usages | Evgenii P | 2019-08-13 | 8 | -13/+17 | |
| | | ||||||
| * | Fix for<'lifetime> for types specified by path | Evgenii P | 2019-08-11 | 1 | -1/+2 | |
| | | ||||||
* | | Merge #1636 | bors[bot] | 2019-08-13 | 1 | -7/+12 | |
|\ \ | |/ |/| | | | | | | | | | | | 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 test | bravomikekilo | 2019-08-13 | 1 | -0/+6 | |
| | |