Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | Move default const test out of line | Avi Dessauer | 2020-06-04 | 1 | -10/+0 |
| | |||||
* | Address review | Avi Dessauer | 2020-06-04 | 1 | -5/+4 |
| | |||||
* | Parse default unsafe & default const | Avi Dessauer | 2020-06-04 | 1 | -1/+25 |
| | |||||
* | Update a comment for the new source organization | Nelson Elhage | 2020-06-01 | 1 | -3/+4 |
| | |||||
* | Support raw_ref_op's raw reference operator | robojumper | 2020-05-28 | 1 | -1/+15 |
| | |||||
* | Shrink ra_parser::Event from 32 bytes to 16 bytes | Simon Vandel Sillesen | 2020-05-16 | 2 | -2/+2 |
| | | | | This boxes the Error variant with the assumption that it is rarely constructed | ||||
* | Fix parsing of blocks without `{` | Aleksey Kladov | 2020-05-02 | 6 | -37/+29 |
| | |||||
* | Cleanup inline tests | Aleksey Kladov | 2020-05-02 | 1 | -2/+4 |
| | |||||
* | Introduce EffectExpr | Aleksey Kladov | 2020-05-02 | 4 | -25/+22 |
| | |||||
* | Revert "Merge #4233" | Aleksey Kladov | 2020-05-02 | 2 | -3/+4 |
| | | | | | This reverts commit a5f2b16366f027ad60c58266a66eb7fbdcbda9f9, reversing changes made to c96b2180c1c4206a0a98c280b4d30897eb116336. | ||||
* | Remove dead code, which elaborately pretends to be alive | Aleksey Kladov | 2020-04-30 | 2 | -4/+3 |
| | |||||
* | Merge #4227 | bors[bot] | 2020-04-30 | 1 | -1/+1 |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4227: Report invalid, nested, multi-segment crate-paths r=matklad a=djrenren There was a bug in the previous path-validating code that didn't detect multi-segment paths that started with `crate`. ```rust // Successfully reported use foo::{crate}; // BUG: was not being reported use foo::{crate::bar}; ``` This was due to my confusion about path-associativity. That is, the path with no qualifier is the innermost path, not the outermost. I've updated the code with a lot of comments to explain what's going on. This bug was discovered when I found an erroneous `ok` test which I reported here: https://github.com/rust-analyzer/rust-analyzer/issues/4226 This test now fails and has been modified, hopefully in the spirit of the original test, to be correct. Sorry about submitting the bug in the first place! Co-authored-by: John Renner <[email protected]> | ||||
| * | Report invalid, nested, multi-segment crate-paths | John Renner | 2020-04-30 | 1 | -1/+1 |
| | | | | | | | | | | | | | | | | | | | | Specifically, things like: use foo::{crate::bar}; Are now being caught, when before we only caught: use foo::{crate}; | ||||
* | | Special-case try macro_rules | Edwin Cheng | 2020-04-30 | 1 | -0/+11 |
|/ | |||||
* | Special-case try macro to better support 2015 edition | Aleksey Kladov | 2020-04-30 | 1 | -0/+16 |
| | |||||
* | Align grammar for record patterns and literals | Aleksey Kladov | 2020-04-11 | 1 | -27/+23 |
| | | | | | | The grammar now looks like this [name_ref :] pat | ||||
* | Remove dead code | Aleksey Kladov | 2020-04-11 | 1 | -7/+4 |
| | |||||
* | Make records grammar more orthogonal | Aleksey Kladov | 2020-04-11 | 1 | -12/+25 |
| | | | | | | | | | | | | We used name [: expr] grammar before, now it is [name :] expr which makes things simpler | ||||
* | Rename some tokens | Aleksey Kladov | 2020-04-10 | 3 | -319/+33 |
| | |||||
* | Scale token generation back | Aleksey Kladov | 2020-04-10 | 1 | -0/+6 |
| | |||||
* | Parse correctly fn f<T>() where T: Fn() -> u8 + Send {} | Luca Barbieri | 2020-04-09 | 1 | -1/+1 |
| | | | | | We used to parse it as T: Fn() -> (u8 + Send), which is different from the rustc behavior of T: (Fn() -> u8) + Send | ||||
* | Provide more complete AST accessors to support usage in rustc | Luca Barbieri | 2020-04-09 | 1 | -1/+5 |
| | |||||
* | Add L_DOLLAR for TYPE_RECOVERY_SET | Edwin Cheng | 2020-04-08 | 1 | -1/+1 |
| | |||||
* | Macro patterns are not confused with expressions. | Aleksey Kladov | 2020-04-03 | 2 | -2/+3 |
| | | | | | | | | | | | We treat macro calls as expressions (there's appropriate Into impl), which causes problem if there's expresison and non-expression macro in the same node (like in the match arm). We fix this problem by nesting macor patterns into another node (the same way we nest path into PathExpr or PathPat). Ideally, we probably should add a similar nesting for macro expressions, but that needs some careful thinking about macros in blocks: `{ am_i_expression!() }`. | ||||
* | Cleanups | Aleksey Kladov | 2020-04-03 | 2 | -14/+13 |
| | |||||
* | Fix parsing lambdas with return type | Aleksey Kladov | 2020-03-25 | 1 | -7/+13 |
| | | | | | | | We should eat only a single block, and not whatever larger expression may start with a block. closes #3721 | ||||
* | Support arbitrary discriminants | Aleksey Kladov | 2020-03-20 | 1 | -4/+6 |
| | | | | Closes #3661 | ||||
* | Better fix for stuck parser? | Florian Diebold | 2020-03-16 | 1 | -3/+3 |
| | |||||
* | Get tests working | Florian Diebold | 2020-03-16 | 1 | -2/+2 |
| | |||||
* | Parse variadics correctly | Aleksey Kladov | 2020-03-13 | 1 | -11/+33 |
| | | | | closes #3571 | ||||
* | Move verbose tests out of line | Aleksey Kladov | 2020-03-13 | 1 | -20/+2 |
| | |||||
* | Fix parsing of stement-ish binary expressions | Aleksey Kladov | 2020-03-11 | 1 | -2/+8 |
| | | | | closes #3512 | ||||
* | Implement concat macro | Edwin Cheng | 2020-03-03 | 1 | -1/+1 |
| | |||||
* | Rename ast::ImplBlock -> ast::ImplDef | Aleksey Kladov | 2020-02-29 | 4 | -7/+7 |
| | |||||
* | Parse attr in rhs of let stmts | Edwin Cheng | 2020-02-28 | 1 | -1/+2 |
| | |||||
* | Fix dat comment | Veetaha | 2020-02-22 | 1 | -1/+1 |
| | |||||
* | More manual clippy fixes | Kirill Bulatov | 2020-02-18 | 2 | -3/+3 |
| | |||||
* | Run cargo +nightly fix --clippy -Z unstable-options | Kirill Bulatov | 2020-02-18 | 2 | -5/+3 |
| | |||||
* | Add test for unnamed argument in function pointer | Han Mertens | 2020-02-12 | 1 | -0/+3 |
| | |||||
* | Support unnamed arguments in function pointers | Han Mertens | 2020-02-12 | 1 | -1/+1 |
| | | | | Fixes #3089 | ||||
* | Address review comments | Matthew Jasper | 2020-02-10 | 1 | -7/+8 |
| | |||||
* | Add or- and parenthesized-patterns | Matthew Jasper | 2020-02-09 | 4 | -14/+62 |
| | |||||
* | Rename add import assist | Kirill Bulatov | 2020-02-07 | 1 | -1/+1 |
| | |||||
* | Merge #3047 | bors[bot] | 2020-02-07 | 1 | -9/+9 |
|\ | | | | | | | | | | | | | | | | | | | | | | | 3047: Update async unsafe fn ordering in parser r=matklad a=kiljacken As of rust-lang/rust#61319 the correct order for functions that are both unsafe and async is: `async unsafe fn` and not `unsafe async fn`. This commit updates the parser tests to reflect this, and corrects parsing behavior to accept the correct ordering. Fixes #3025 Co-authored-by: Emil Lauridsen <[email protected]> | ||||
| * | Update async unsafe fn ordering. | Emil Lauridsen | 2020-02-07 | 1 | -9/+9 |
| | | | | | | | | | | | | | | | | | | | | As of rust-lang/rust#61319 the correct order for functions that are both unsafe and async is: `async unsafe fn` and not `unsafe async fn`. This commit updates the parser tests to reflect this, and corrects parsing behavior to accept the correct ordering. Fixes #3025 | ||||
* | | PR tweaks | Toby Dimmick | 2020-02-07 | 3 | -21/+18 |
| | | |||||
* | | Closure params test | Toby Dimmick | 2020-02-06 | 1 | -0/+4 |
| | | |||||
* | | rustfmt | Toby Dimmick | 2020-02-06 | 1 | -2/+2 |
| | | |||||
* | | Rework value parameter parsing | Toby Dimmick | 2020-02-06 | 5 | -55/+73 |
|/ | | | | | | | - `Fn__(...)` parameters with idents/patterns no longer parse - Trait function parameters with arbitrary patterns parse - Trait function parameters without idents/patterns no longer parse - `fn(...)` parameters no longer parse with patterns other than a single ident | ||||
* | ra_syntax: remove code duplication and token reevaluation from ↵ | Veetaha | 2020-01-22 | 1 | -2/+2 |
| | | | | ast::Literal::kind() |