Commit message (Collapse) | Author | Age | Files | Lines | ||
---|---|---|---|---|---|---|
... | ||||||
* | Correct `use` cannot have type args as per flodiebold | veetaha | 2020-05-10 | 1 | -1/+1 | |
| | ||||||
* | Correct path docs and add colon2 token to Path ast node | veetaha | 2020-05-10 | 1 | -12/+14 | |
| | ||||||
* | Add example with const in TypeBound as per flodiebold | veetaha | 2020-05-10 | 1 | -4/+2 | |
| | ||||||
* | Remove todo comment about arg vs param difference as per clarification from ↵ | veetaha | 2020-05-10 | 1 | -4/+0 | |
| | | | | flodiebold | |||||
* | Properly document const impl as per flodiebold | veetaha | 2020-05-10 | 1 | -2/+2 | |
| | ||||||
* | Remove on TypeAliasDef as per flodiebold | veetaha | 2020-05-10 | 1 | -2/+1 | |
| | ||||||
* | Remove MacroStmts as per edwin0cheng | veetaha | 2020-05-10 | 1 | -15/+0 | |
| | ||||||
* | Add proper docs for TokenTree as per edwin0cheng | veetaha | 2020-05-10 | 1 | -1/+2 | |
| | ||||||
* | Add ast docs to codegen script | veetaha | 2020-05-10 | 2 | -17/+1515 | |
| | ||||||
* | Regenerate | Aleksey Kladov | 2020-05-06 | 2 | -3/+3 | |
| | ||||||
* | Rename ImplItem to AssocItem | Edwin Cheng | 2020-05-05 | 1 | -2/+2 | |
| | ||||||
* | Add documents owner for ImplDef and SourceFile | Edwin Cheng | 2020-05-03 | 1 | -2/+2 | |
| | ||||||
* | Introduce EffectExpr | Aleksey Kladov | 2020-05-02 | 2 | -12/+8 | |
| | ||||||
* | Revert "Merge #4233" | Aleksey Kladov | 2020-05-02 | 1 | -1/+4 | |
| | | | | | This reverts commit a5f2b16366f027ad60c58266a66eb7fbdcbda9f9, reversing changes made to c96b2180c1c4206a0a98c280b4d30897eb116336. | |||||
* | Merge #4246 | bors[bot] | 2020-05-01 | 1 | -1/+1 | |
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4246: Validate uses of self and super r=matklad a=djrenren This change follows on the validation of the `crate` keyword in paths. It verifies the following things: `super`: - May only be preceded by other `super` segments - If in a `UseItem` then all semantically preceding paths also consist only of `super` `self` - May only be the start of a path Just a note, a couple times while working on this I found myself really wanting a Visitor of some sort so that I could traverse descendants while skipping sub-trees that are unimportant. Iterators don't really work for this, so as you can see I reached for recursion. Considering paths are generally small a fancy debounced visitor probably isn't important but figured I'd say something in case we had something like this lying around and I wasn't using it. Co-authored-by: John Renner <[email protected]> | |||||
| * | Validate uses of self and super | John Renner | 2020-05-01 | 1 | -1/+1 | |
| | | ||||||
* | | Remove dead code, which elaborately pretends to be alive | Aleksey Kladov | 2020-04-30 | 1 | -4/+1 | |
|/ | ||||||
* | Fix a bunch of false-positives in join-lines | Aleksey Kladov | 2020-04-30 | 1 | -1/+1 | |
| | ||||||
* | Allow to set env vars and pipe stdin via not_bash | Aleksey Kladov | 2020-04-30 | 2 | -92/+79 | |
| | ||||||
* | Merge #4219 | bors[bot] | 2020-04-30 | 1 | -33/+67 | |
|\ | | | | | | | | | | | | | | | | | | | 4219: Avoid `rustup` invocation for non-rustup rust installation r=matklad a=oxalica Fix #4218 and #3243. Co-authored-by: oxalica <[email protected]> | |||||
| * | Avoid `rustup` invocation for non-rustup rust installation | oxalica | 2020-04-30 | 1 | -33/+67 | |
| | | ||||||
* | | Merge #4178 | bors[bot] | 2020-04-30 | 1 | -1/+1 | |
|\ \ | |/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4178: Validate the location of `crate` in paths r=matklad a=djrenren **This solution does not fully handle `use` statements. See below** This pull requests implements simple validation of usages of the `crate` keyword in `Path`s. Specifically it validates that: - If a `PathSegment` is starts with the `crate` keyword, it is also the first segment of the `Path` - All other usages of `crate` in `Path`s are considered errors. This aligns with `rustc`'s rules. Unlike rustc this implementation does not issue a special error message in the case of `::crate` but it does catch the error. Furthermore, this change does not cover all error cases. Specifically the following is not caught: ```rust use foo::{crate} ``` This is because this check is context sensitive. From an AST perspective, `crate` is the root of the `Path`. Only by inspecting the full `UseItem` do we see that it is not in fact the root. This problem becomes worse because `UseTree`s are allowed to be arbitrarily nested: ```rust use {crate, {{crate, foo::{crate}}} ``` So this is a hard problem to solve without essentially a breadth-first search. In a traditional compiler, I'd say this error is most easily found during the AST -> HIR conversion pass but within rust-analyzer I'm not sure where it belongs. Under the implementation in this PR, such errors are ignored so we're *more correct* just not *entirely correct*. Co-authored-by: John Renner <[email protected]> | |||||
| * | Validate the location of `crate` in paths | John Renner | 2020-04-29 | 1 | -1/+1 | |
| | | ||||||
* | | Use x86_64-unknown-linux-gnu for releases | Laurențiu Nicola | 2020-04-28 | 1 | -5/+3 | |
|/ | ||||||
* | Bump required rust to 1.43 | kjeremy | 2020-04-23 | 1 | -1/+1 | |
| | ||||||
* | Group generated ast boilerplate apart from the interesting part | veetaha | 2020-04-18 | 1 | -120/+130 | |
| | ||||||
* | Refucktor codegen | veetaha | 2020-04-18 | 1 | -6/+6 | |
| | ||||||
* | Align grammar for record patterns and literals | Aleksey Kladov | 2020-04-11 | 1 | -1/+1 | |
| | | | | | | The grammar now looks like this [name_ref :] pat | |||||
* | Simplify | Aleksey Kladov | 2020-04-10 | 1 | -1/+1 | |
| | ||||||
* | Rename some tokens | Aleksey Kladov | 2020-04-10 | 2 | -13/+13 | |
| | ||||||
* | Better readability | Aleksey Kladov | 2020-04-10 | 1 | -2/+3 | |
| | ||||||
* | Remove dead code | Aleksey Kladov | 2020-04-10 | 1 | -11/+4 | |
| | ||||||
* | Generate only minimal set of ineresting tokens | Aleksey Kladov | 2020-04-10 | 3 | -0/+38 | |
| | ||||||
* | Scale token generation back | Aleksey Kladov | 2020-04-10 | 3 | -238/+59 | |
| | ||||||
* | Convert more tokens | Aleksey Kladov | 2020-04-10 | 2 | -49/+19 | |
| | ||||||
* | Other delimiters | Aleksey Kladov | 2020-04-10 | 2 | -18/+22 | |
| | ||||||
* | Curley tokens | Aleksey Kladov | 2020-04-10 | 1 | -17/+15 | |
| | ||||||
* | Start replacing tokens | Aleksey Kladov | 2020-04-10 | 2 | -1/+5 | |
| | ||||||
* | Semicolon token | Aleksey Kladov | 2020-04-10 | 2 | -13/+19 | |
| | ||||||
* | More readable ast_src for keywords | Aleksey Kladov | 2020-04-10 | 2 | -104/+133 | |
| | ||||||
* | Simplify | Aleksey Kladov | 2020-04-10 | 1 | -4/+4 | |
| | ||||||
* | Simpler acessors for keywords | Aleksey Kladov | 2020-04-09 | 2 | -10/+27 | |
| | ||||||
* | Drop needless trait | Aleksey Kladov | 2020-04-09 | 1 | -4/+4 | |
| | ||||||
* | Be consistent about token accesors | Aleksey Kladov | 2020-04-09 | 1 | -2/+3 | |
| | ||||||
* | Add _token suffix to token accessors | Aleksey Kladov | 2020-04-09 | 1 | -0/+1 | |
| | | | | | I think this makes is more clear which things are : AstNode and which are : AstToken | |||||
* | Put displays at the end | Aleksey Kladov | 2020-04-09 | 1 | -12/+16 | |
| | ||||||
* | More compact | Aleksey Kladov | 2020-04-09 | 1 | -10/+2 | |
| | ||||||
* | More compact generated code | Aleksey Kladov | 2020-04-09 | 1 | -0/+1 | |
| | ||||||
* | Move the rest of the tokens to generated/tokens | Aleksey Kladov | 2020-04-09 | 2 | -85/+98 | |
| | ||||||
* | Move generated tokens to a separate file | Aleksey Kladov | 2020-04-09 | 1 | -37/+61 | |
| |