Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Move inclusive range check to validation | Geoffry Song | 2019-11-15 | 1 | -3/+0 | |
| | ||||||
* | 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 | 1 | -17/+17 | |
| | ||||||
* | 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 | 14 | -0/+28 | |
|/ | | | | #1856 | |||||
* | 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 | 13 | -80/+80 | |
|/ | ||||||
* | Merge #1848 | bors[bot] | 2019-09-15 | 1 | -10/+42 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | 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 | |
| | | ||||||
* | | Allow an underscore as the identifier in `const` items | Dylan MacKenzie | 2019-09-15 | 2 | -2/+11 | |
|/ | ||||||
* | cleanup dollar handling in expressions | Aleksey Kladov | 2019-09-10 | 2 | -40/+34 | |
| | ||||||
* | WIP: switch to fully decomposed tokens internally | Aleksey Kladov | 2019-09-10 | 7 | -140/+160 | |
| | ||||||
* | rename bump -> bump_any | Aleksey Kladov | 2019-09-09 | 14 | -109/+109 | |
| | ||||||
* | tiny simplification | Aleksey Kladov | 2019-09-09 | 3 | -4/+7 | |
| | ||||||
* | 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 | 2 | -2/+7 | |
| | ||||||
* | cleanup | Aleksey Kladov | 2019-09-02 | 3 | -3/+3 | |
| | ||||||
* | 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 | |
| | ||||||
* | rename struct -> record, pos -> tuple | Aleksey Kladov | 2019-08-23 | 4 | -32/+32 | |
| | ||||||
* | 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 | |
| | ||||||
* | 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 | |
| | | ||||||
| * | fix block parse problem | bravomikekilo | 2019-08-03 | 1 | -7/+6 | |
| | | ||||||
* | | Move numeric names inside of `NameRef` | Aleksey Kladov | 2019-08-09 | 4 | -10/+8 | |
| | | ||||||
* | | Make name_ref to accept numeric names optionally | Evgenii P | 2019-08-09 | 4 | -7/+7 | |
| | | ||||||
* | | Parse tuple struct field initialization | Evgenii P | 2019-08-09 | 1 | -1/+2 | |
| | |