Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | | Fix parser for macro call in pattern position | Edwin Cheng | 2019-12-20 | 1 | -1/+1 | |
|/ | ||||||
* | Touch up TokenSet a bit | Aleksey Kladov | 2019-12-19 | 1 | -1/+1 | |
| | ||||||
* | Fix parsing of interpolated expressions | Aleksey Kladov | 2019-12-19 | 1 | -0/+1 | |
| | ||||||
* | Improve recovery for incomplete lambdas | Aleksey Kladov | 2019-12-17 | 1 | -1/+6 | |
| | ||||||
* | Fix hir for ast::UnionDef | Aleksey Kladov | 2019-11-25 | 1 | -1/+1 | |
| | ||||||
* | Introduce dedicated AST node for union | Aleksey Kladov | 2019-11-25 | 2 | -12/+21 | |
| | | | | | | | | | | 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. | |||||
* | 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 | |
| | |