| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |/ |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
3278: Show more inlay hints r=matklad a=SomeoneToIgnore
Closes https://github.com/rust-analyzer/rust-analyzer/issues/3273
As suggested in https://github.com/rust-analyzer/rust-analyzer/pull/1606#discussion_r308146363 , there is a simpler way to handle inlay hints after https://github.com/rust-analyzer/rust-analyzer/issues/1618 is closed.
This PR uses the approach suggested (which results in more type hints for various bindings) and also adds more name hints for function parameters.
Examples can be found in the issue:
* https://github.com/rust-analyzer/rust-analyzer/issues/3273#issuecomment-589998051
* https://github.com/rust-analyzer/rust-analyzer/issues/3273#issuecomment-590002839
Co-authored-by: Kirill Bulatov <[email protected]>
|
| | | |
|
| | | |
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
3276: Bump crossbeam crates r=kjeremy a=lnicola
This removes a duplicate `autocfg` dependency and was supposed to upgrade `rand`, but it got reverted in `crossbeam` to keep it compiling on pre-2018 edition compilers.
Co-authored-by: Laurențiu Nicola <[email protected]>
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
3274: Simplify r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ / |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
3272: ra_db: removed a couple of explicit lifetimes r=matklad a=Veetaha
Co-authored-by: Veetaha <[email protected]>
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
It should only shift free vars (maybe the name isn't the best...)
|
| | |
| | |
| | |
| | |
| | | |
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.
|
| | | |
|
| | |
| | |
| | |
| | | |
I'm looking forward to getting rid of this in favor of Chalk's implementation.
|
| | | |
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
3271: Fix dat comment r=matklad a=Veetaha
Co-authored-by: Veetaha <[email protected]>
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
3205: vscode: migrate to tripple equals r=matklad a=Veetaha
Co-authored-by: Veetaha <[email protected]>
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
Co-Authored-By: Florian Diebold <[email protected]>
Co-Authored-By: Laurențiu Nicola <[email protected]>
|
| |/ |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| | |
| | |
| | |
| | | |
This fixes autocompletion suggesting e.g. self::usize.
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| | | |
|
| | |
| | |
| | |
| | |
| | | |
There was a panic where lexer returned None on malformed tokens.
But now we just ignore tokenization errors in mbe.
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| |/
| |
| |
| |
| |
| |
| |
| |
| | |
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.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
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]>
|
| | | |
|
| | |
| | |
| | |
| | | |
Co-Authored-By: Laurențiu Nicola <[email protected]>
|
|/ / |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| | |
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]>
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
3259: Normalize associated types in types coming from Chalk r=matklad a=flodiebold
Fixes #3232.
Co-authored-by: Florian Diebold <[email protected]>
|
|/
|
|
| |
Fixes #3232.
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
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]>
|
| | |
|
| | |
|
| | |
|