aboutsummaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* | Merge #3263bors[bot]2020-02-2210-261/+480
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3263: Implement unsizing coercions using Chalk r=matklad a=flodiebold These are coercions like `&[T; n] -> &[T]`, which are handled by the `Unsize` and `CoerceUnsized` traits. The impls for `Unsize` are all built in to the compiler and require special handling, so we need to provide them to Chalk. This adds the following `Unsize` impls: - `Unsize<[T]> for [T; _]` - `Unsize<dyn Trait> for T where T: Trait` - `Unsize<dyn SuperTrait> for dyn SubTrait` Hence we are still missing the 'unsizing the last field of a generic struct' case. Co-authored-by: Florian Diebold <[email protected]> Co-authored-by: Florian Diebold <[email protected]>
| * | Shorten some codeFlorian Diebold2020-02-221-4/+1
| | |
| * | Rework find_super_trait_path to protect against cyclesFlorian Diebold2020-02-225-23/+74
| | |
| * | Fix shift_bound_varsFlorian Diebold2020-02-221-3/+3
| | | | | | | | | | | | It should only shift free vars (maybe the name isn't the best...)
| * | Fix wrong handling of bare `dyn Trait` exposed by canonicalizer fixFlorian Diebold2020-02-221-1/+3
| | | | | | | | | | | | | | | The self type in the `dyn Trait` trait ref should always be ^0, but we didn't put that in there in the bare case.
| * | Add &dyn Trait -> &dyn SuperTrait coercion, and fix &T -> &dyn TraitFlorian Diebold2020-02-224-44/+132
| | |
| * | Fix handling of binders in canonicalizationFlorian Diebold2020-02-221-64/+35
| | | | | | | | | | | | I'm looking forward to getting rid of this in favor of Chalk's implementation.
| * | Implement dyn Trait unsizing as wellFlorian Diebold2020-02-225-9/+136
| | |
| * | Implement unsize coercion using proper trait solvingFlorian Diebold2020-02-225-187/+170
| |/
* | Merge #3271bors[bot]2020-02-221-1/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | 3271: Fix dat comment r=matklad a=Veetaha Co-authored-by: Veetaha <[email protected]>
| * | Fix dat commentVeetaha2020-02-221-1/+1
|/ /
* | Merge #3205bors[bot]2020-02-224-9/+10
|\ \ | | | | | | | | | | | | | | | | | | | | | 3205: vscode: migrate to tripple equals r=matklad a=Veetaha Co-authored-by: Veetaha <[email protected]>
| * | vscode: migrate to tripple equalsVeetaha2020-02-224-9/+10
| | |
* | | Merge #3269bors[bot]2020-02-221-0/+25
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | 3269: Add inlay hints documentation r=flodiebold a=SomeoneToIgnore Closes https://github.com/rust-analyzer/rust-analyzer/issues/3267 Co-authored-by: Kirill Bulatov <[email protected]>
| * | Fix a typoKirill Bulatov2020-02-221-1/+1
| | |
| * | One more tiny doc fixKirill Bulatov2020-02-221-1/+1
| | |
| * | Code review fixesKirill Bulatov2020-02-221-5/+5
| | | | | | | | | | | | Co-Authored-By: Florian Diebold <[email protected]> Co-Authored-By: Laurențiu Nicola <[email protected]>
| * | Add inlay hints documentationKirill Bulatov2020-02-221-0/+25
| |/
* | Merge #3260bors[bot]2020-02-225-68/+55
|\ \ | | | | | | | | | | | | | | | | | | | | | 3260: Refactor how builtins are resolved r=matklad a=flodiebold This fixes autocompletion suggesting e.g. `self::usize`. (I thought we had a bug for that, but I didn't find it.) Co-authored-by: Florian Diebold <[email protected]>
| * | Refactor how builtins are resolvedFlorian Diebold2020-02-215-68/+55
| | | | | | | | | | | | This fixes autocompletion suggesting e.g. self::usize.
* | | Merge #3230bors[bot]2020-02-222-4/+23
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | 3230: ra_mbe: convert_literal now works with malformed tokens r=edwin0cheng a=Veetaha Fixes: #3226 Co-authored-by: Veetaha <[email protected]> Co-authored-by: Veetaha <[email protected]>
| * | ra_mbe: Remove explicit type annotationVeetaha2020-02-221-1/+1
| | |
| * | ra_mbe: added test for malformed token in macro invokationVeetaha2020-02-221-3/+21
| | | | | | | | | | | | | | | There was a panic where lexer returned None on malformed tokens. But now we just ignore tokenization errors in mbe.
| * | ra_mbe: convert_literal now works with malformed tokensVeetaha2020-02-221-2/+3
|/ /
* | Merge #3262bors[bot]2020-02-225-6/+85
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3262: Fix handling of const patterns r=matklad a=flodiebold E.g. in `match x { None => ... }`, `None` is a path pattern (resolving to the option variant), not a binding. To determine this, we need to try to resolve the name during lowering. This isn't too hard since we already need to resolve names for macro expansion anyway (though maybe a bit hacky). Fixes #1618. Co-authored-by: Florian Diebold <[email protected]>
| * | Fix handling of const patternsFlorian Diebold2020-02-215-6/+85
| |/ | | | | | | | | | | | | | | | | E.g. in `match x { None => ... }`, `None` is a path pattern (resolving to the option variant), not a binding. To determine this, we need to try to resolve the name during lowering. This isn't too hard since we already need to resolve names for macro expansion anyway (though maybe a bit hacky). Fixes #1618.
* | Merge #3244bors[bot]2020-02-221-0/+106
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 3244: Rename module references r=matklad a=adamrk Rename references to a module when the module is renamed. This fixes some missing renames in the existing implementation. For example, renaming the module `foo` to `foo2` in this case: ```rust mod foo { pub fn bar() {} } fn main() { foo::bar() } ``` previously would not change the call `foo::bar()` to `foo2::bar()`, but now it will. Co-authored-by: adamrk <[email protected]> Co-authored-by: Adam Bratschi-Kaye <[email protected]>
| * | remove unneeded `collect`adamrk2020-02-211-11/+7
| | |
| * | use Vec::extend instead of Vec::push in loopAdam Bratschi-Kaye2020-02-211-3/+1
| | | | | | | | | | | | Co-Authored-By: Laurențiu Nicola <[email protected]>
| * | rename module referencesadamrk2020-02-211-0/+112
|/ /
* | Merge #3264bors[bot]2020-02-212-25/+24
|\ \ | |/ |/| | | | | | | | | | | | | | | 3264: Tidy up documentation. r=flodiebold a=ablakey Thought I'd tidy up the docs while reading through them. Hope you don't mind! For the most part, I just made the formatting consistent through-out and added a few words here and there. Also updated the language server install graphic. Co-authored-by: Andrew Blakey <[email protected]>
| * update imageAndrew Blakey2020-02-211-2/+1
| |
| * update docsAndrew Blakey2020-02-212-24/+24
|/
* Merge #3259bors[bot]2020-02-212-1/+46
|\ | | | | | | | | | | | | | | 3259: Normalize associated types in types coming from Chalk r=matklad a=flodiebold Fixes #3232. Co-authored-by: Florian Diebold <[email protected]>
| * Normalize associated types in types coming from ChalkFlorian Diebold2020-02-212-1/+46
|/ | | | Fixes #3232.
* Merge #3247bors[bot]2020-02-216-1/+61
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | 3247: Improve RA version display r=matklad a=edwin0cheng There are 2 problems of current implementation for displaying current version of RA binary: 1. If that binary is coming from built by source, the `REV` may not be updated somehow. (See discussion in [Zuilp](https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Fwg-rls-2.2E0/topic/vscode.20version.20in.20console)) 2. We must go through the VSCode debugger console to see the output of `console.log`. This PR implemented a new VSCode command "Show RA Version" to display the version, which fixed the first problem. And added some `rerun-if` flags in `build.rs` to fix the second one. Co-authored-by: Edwin Cheng <[email protected]>
| * Use stdout directlyEdwin Cheng2020-02-211-2/+1
| |
| * Use ensureServerBinary insteadEdwin Cheng2020-02-211-5/+17
| |
| * Add trailing newlineEdwin Cheng2020-02-211-1/+2
| |
| * Remove unused placeholderEdwin Cheng2020-02-211-1/+1
| |
| * Add document for `Show RA Version`Edwin Cheng2020-02-211-0/+4
| |
| * Improve server version infoEdwin Cheng2020-02-215-1/+45
|/
* Merge #3258bors[bot]2020-02-214-6/+8
|\ | | | | | | | | | | | | | | | | | | | | 3258: enforce camel case r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * enforce camel caseAleksey Kladov2020-02-214-6/+8
|/
* Merge #3252bors[bot]2020-02-202-6/+10
|\ | | | | | | | | | | | | | | | | | | 3252: Improve integration with token color configuration r=matklad a=eaglgenes101 First, the extension now checks theme token color customizations as well as global token color customizations when determining what colors to highlight syntax with. Theme token color customizations take precedence over both global token color customizations and the theme token colors. Second, a few additional token color customization keys used by other themes are added. The original paths still take precedence, but now turning on rust analyzer syntax highlighting should now not unexpectedly homogenize token colors when custom themes are used. Co-authored-by: eaglgenes101 <[email protected]>
| * Merge branch 'master' of https://github.com/rust-analyzer/rust-analyzereaglgenes1012020-02-201-1/+14
| |\
| * | Improved compatibility with themeseaglgenes1012020-02-202-6/+10
| | |
* | | Merge #3251bors[bot]2020-02-201-2/+2
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | 3251: Better errorse r=matklad a=matklad bors r+ 🤖 Co-authored-by: Aleksey Kladov <[email protected]>
| * | Better errorseAleksey Kladov2020-02-201-2/+2
|/ /
* | Merge #3248bors[bot]2020-02-201-1/+14
|\ \ | |/ |/| | | | | | | | | | | 3248: Fix off by one in onEnter r=matklad a=lnicola Co-authored-by: Laurențiu Nicola <[email protected]>