aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Merge #4178bors[bot]2020-04-305-1/+121
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 pathsJohn Renner2020-04-295-1/+121
| |
* | Merge #4216bors[bot]2020-04-301-2/+4
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 4216: docs(user): method chaining hints support r=flodiebold a=fannheyward https://github.com/fannheyward/coc-rust-analyzer/issues/177#issuecomment-621109410 <img width="490" alt="" src="https://user-images.githubusercontent.com/345274/80584717-acd0dd80-8a44-11ea-9505-c408a259a5b5.png"> Co-authored-by: Heyward Fann <[email protected]>
| * | docs(user): method chaining hints supportHeyward Fann2020-04-301-2/+4
|/ / | | | | | | https://github.com/fannheyward/coc-rust-analyzer/issues/177#issuecomment-621109410
* | Merge #4162bors[bot]2020-04-295-68/+402
|\ \ | | | | | | | | | | | | | | | | | | | | | 4162: Complete assoc. items on type parameters r=jonas-schievink a=jonas-schievink This is fairly messy and seems to leak a lot through the `ra_hir` abstraction (`TypeNs`, `AssocItemId`, ...), so I'd be glad for any advise for how to improve this. Co-authored-by: Jonas Schievink <[email protected]>
| * | if let -> matchJonas Schievink2020-04-291-4/+3
| | |
| * | ?Jonas Schievink2020-04-291-5/+1
| | |
| * | Use or-patterns moreJonas Schievink2020-04-291-10/+9
| | |
| * | Remove `.clone()`Jonas Schievink2020-04-291-8/+8
| | |
| * | Rename to associated_type_shorthand_candidatesJonas Schievink2020-04-293-29/+30
| | |
| * | Complete assoc. items on type parametersJonas Schievink2020-04-295-69/+408
|/ /
* | Merge #4212bors[bot]2020-04-291-2/+2
|\ \ | | | | | | | | | | | | | | | | | | | | | 4212: Fix Typos on features.md r=kjeremy a=lonesometraveler Co-authored-by: KENTARO OKUDA <[email protected]>
| * | Fix Typos on features.mdKENTARO OKUDA2020-04-291-2/+2
|/ /
* | Merge #4119bors[bot]2020-04-294-65/+110
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4119: Cache proc-macro dlls r=matklad a=edwin0cheng This PR try to fix a deadlock in proc-macro srv by not unloading dlls. Currently we load and unload dlls for each request, however rustc TLS is leaky , such that if we do it a lot of times, all TLS index will be consumed and it will be deadlocked inside panic (it is because panic itself is using TLS too). Co-authored-by: Edwin Cheng <[email protected]>
| * | Generate uniq nameEdwin Cheng2020-04-261-3/+11
| | |
| * | Simpify codeEdwin Cheng2020-04-262-16/+12
| | |
| * | FixEdwin Cheng2020-04-261-0/+6
| | |
| * | Compare timestampEdwin Cheng2020-04-261-2/+8
| | |
| * | Copy dylib to temp directoryEdwin Cheng2020-04-261-1/+18
| | |
| * | Cacheproc-macro dllsEdwin Cheng2020-04-264-58/+70
| | |
* | | Merge #4208bors[bot]2020-04-294-39/+95
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4208: More principled approach for finding From trait r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | More principled approach for finding From traitAleksey Kladov2020-04-294-39/+95
| | | |
* | | | Merge #4205bors[bot]2020-04-291-1/+1
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 4205: Fix YouComplteMe instructions link r=matklad a=bstaletic Like I mentioned in #4098, the link to the instructions is for setting up RLS. This pull request fixes that mistake. Co-authored-by: Boris Staletic <[email protected]>
| * | | Fix YouComplteMe instructions linkBoris Staletic2020-04-291-1/+1
|/ / /
* | | Merge #4204bors[bot]2020-04-294-54/+144
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4204: Use specific pattern when translating if-let-else to match r=matklad a=matklad We *probably* should actually use the same machinery here, as we do for fill match arms, but just special-casing options and results seems to be a good first step. bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | Use specific pattern when translating if-let-else to matchAleksey Kladov2020-04-294-20/+123
| | | | | | | | | | | | | | | | | | | | | | | | We *probably* should actually use the same machinery here, as we do for fill match arms, but just special-casing options and results seems to be a good first step.
| * | | Move shared assist code to utilsAleksey Kladov2020-04-293-48/+35
| | | |
* | | | Merge #4203bors[bot]2020-04-292-9/+49
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4203: Better filtering of qualified enum variants in completion r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | Better filtering of qualified enum variants in completionAleksey Kladov2020-04-292-9/+49
|/ / / /
* | | | Merge #4199bors[bot]2020-04-291-0/+15
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 4199: add ale to the nvim setup section of the readme r=matklad a=c-cube Co-authored-by: Simon Cruanes <[email protected]>
| * | | add ale to the nvim setup section of the readmeSimon Cruanes2020-04-291-0/+15
|/ / /
* | | Merge #4198bors[bot]2020-04-282-12/+53
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4198: Complete union fields after dot r=matklad a=jonas-schievink Co-authored-by: Jonas Schievink <[email protected]>
| * | | Complete union fields after dotJonas Schievink2020-04-282-12/+53
| | | |
* | | | Merge #4196bors[bot]2020-04-283-3/+33
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | 4196: Rebuild rust-analyzer when launching in VS Code r=matklad a=jonas-schievink This is usually the right thing, and previously would launch a stale r-a server. Co-authored-by: Jonas Schievink <[email protected]>
| * | | Build extension tooJonas Schievink2020-04-283-3/+26
| | | |
| * | | Rebuild rust-analyzer when launching in VS CodeJonas Schievink2020-04-282-2/+9
| | | |
* | | | Merge #4161bors[bot]2020-04-287-47/+58
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4161: lsp-types 0.74 r=kjeremy a=kjeremy * Fixes a bunch of param types to take partial progress into account. * Will allow us to support insert/replace text in completions Co-authored-by: kjeremy <[email protected]>
| * | | | lsp-types 0.74kjeremy2020-04-267-47/+58
| | | | | | | | | | | | | | | | | | | | | | | | | * Fixes a bunch of param types to take partial progress into account. * Will allow us to support insert/replace text in completions
* | | | | Merge #4193bors[bot]2020-04-281-56/+61
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4193: Make it impossible to forget to add a semantic token type / modifier r=kjeremy a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | | | | Make it impossible to forget to add a semantic token type / modifierAleksey Kladov2020-04-281-56/+61
| | |/ / / | |/| | |
* | | | | Merge #4184bors[bot]2020-04-282-10/+22
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4184: Treat comments beginning with four slashes as regular line comments r=kjeremy a=adamrk Addresses https://github.com/rust-analyzer/rust-analyzer/issues/4040 Co-authored-by: adamrk <[email protected]>
| * | | | | Fix comment prefix method for four slash commentsadamrk2020-04-281-10/+6
| | | | | |
| * | | | | Treat comments beginning with four slashes as regular line commentsadamrk2020-04-282-0/+16
| | | | | |
* | | | | | Merge #4148bors[bot]2020-04-281-24/+21
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4148: Simplify profiler impl (bubble up Option) r=matklad a=Veetaha Co-authored-by: veetaha <[email protected]>
| * | | | | | Simplify profiler impl (bubble up Option and shorten codeveetaha2020-04-251-24/+21
| | | | | | |
* | | | | | | Merge pull request #4157 from lnicola/glibc-releasesAleksey Kladov2020-04-282-6/+3
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | Use x86_64-unknown-linux-gnu for releases
| * | | | | | Use x86_64-unknown-linux-gnu for releasesLaurențiu Nicola2020-04-282-6/+3
| | | | | | |
* | | | | | | Merge #4190bors[bot]2020-04-281-1/+1
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4190: tiny fix in markdown ordered list r=edwin0cheng a=JOE1994 `.3` => `3.` Co-authored-by: Youngsuk Kim <[email protected]>
| * | | | | | | tiny fix in markdown ordered listYoungsuk Kim2020-04-281-1/+1
|/ / / / / / / | | | | | | | | | | | | | | `.3` => `3.`
* | | | | | | Merge #4183bors[bot]2020-04-289-37/+48
|\ \ \ \ \ \ \ | |_|_|/ / / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4183: Introduce new semantic highlight token for format specifier r=matklad a=ltentrup Follow up from #4006: Instead of using the `attribute` highlight token, introduce a new semantic token for format specifier. Co-authored-by: Leander Tentrup <[email protected]>