Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | 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 | |
| | | ||||||
* | | Merge #1661 | bors[bot] | 2019-08-08 | 1 | -1/+12 | |
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 review | Evgenii P | 2019-08-08 | 1 | -13/+4 | |
| | | | ||||||
| * | | Deduplicate while loop break condition | Evgenii P | 2019-08-08 | 1 | -2/+2 | |
| | | | ||||||
| * | | Fix parser to correctly consume outer attrs before ellipsis param | Evgenii P | 2019-08-07 | 1 | -0/+4 | |
| | | | ||||||
| * | | Fix variadic arg inline test | Evgenii P | 2019-08-07 | 1 | -1/+1 | |
| | | | ||||||
| * | | Add function parameters attributes | Evgenii P | 2019-08-07 | 1 | -0/+16 | |
| |/ | ||||||
* / | assoc types bounds | Aleksey Kladov | 2019-08-07 | 1 | -0/+7 | |
|/ | ||||||
* | fix: parse box syntax inside parentheses | csmoe | 2019-07-22 | 1 | -0/+3 | |
| | ||||||
* | add await to syntax, parser for await_expr | Unreal Hoang | 2019-07-20 | 1 | -0/+12 | |
| | ||||||
* | Remove parse error on array initializer attributes | Ryan Cumming | 2019-06-30 | 1 | -11/+0 | |
| | | | | | This is actually allowed by the `rustc` parser but most attributes will fail later due to attributes on expressions being experimental. | |||||
* | Support attributes on array members | Ryan Cumming | 2019-06-30 | 1 | -0/+28 | |
| | | | | | | | | | | | | Array members are allow to have attributes such as `#[cfg]`. This is a bit tricky as we don't know if the first expression is an initializer or a member until we encounter a `;`. This reuses a trick from `stmt` where we remember if we saw an attribute and then raise an error if the first expression ends up being an initializer. This isn't perfect as the error isn't correctly located on the attribute or initializer; it ends up immediately after the `;`. | |||||
* | fixed #1384 | zjy | 2019-06-28 | 2 | -7/+20 | |
| | ||||||
* | Merge #1415 | bors[bot] | 2019-06-24 | 1 | -1/+28 | |
|\ | | | | | | | | | | | | | | | | | 1415: fix: specialization r=matklad a=csmoe Closes #1402 r? @matklad Co-authored-by: csmoe <[email protected]> | |||||
| * | fix: specialization(with blindly parsing) | csmoe | 2019-06-19 | 1 | -1/+28 | |
| | | | | | | | | Change-Id: Ic5d2767e8781568d76d4d0013cd6081e95ae8a95 | |||||
* | | fix: box_pattern | csmoe | 2019-06-19 | 3 | -5/+18 | |
| | | | | | | | | Change-Id: I45a856d74fb616d3bce33050f9e69d327186bd59 | |||||
* | | fix: box_syntax(#1412) | csmoe | 2019-06-18 | 1 | -0/+5 | |
|/ | | | | Change-Id: I6e20e0163fa545de37226c1561b3b7103615626c | |||||
* | fix: support existential type | csmoe | 2019-06-12 | 1 | -3/+13 | |
| | ||||||
* | fix: never type with binding | csmoe | 2019-06-07 | 1 | -1/+3 | |
| | | | | Change-Id: I14e1bc628b9d2dfdb1f40de3d3707f4e872767f2 | |||||
* | [#1083] Try block syntax: fix tests | Andrey Tkachenko | 2019-06-06 | 1 | -7/+7 | |
| | ||||||
* | [#1083] Try block syntax | Andrey Tkachenko | 2019-06-06 | 1 | -1/+17 | |
| | ||||||
* | Fix clippy::if_same_then_else | Alan Du | 2019-06-04 | 1 | -0/+1 | |
| | ||||||
* | reformat | Aleksey Kladov | 2019-05-23 | 4 | -8/+8 | |
| | ||||||
* | apply T! macro where it is possible | Sergey Parilin | 2019-05-15 | 14 | -423/+423 | |
| | ||||||
* | Add macro pat parsing | Edwin Cheng | 2019-04-30 | 1 | -1/+10 | |
| | ||||||
* | Refactor parser handle mult-char punct internally | Edwin Cheng | 2019-04-28 | 1 | -1/+1 | |
| |