| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1515: Trait environment r=matklad a=flodiebold
This adds the environment, i.e. the set of `where` clauses in scope, when solving trait goals. That means that e.g. in
```rust
fn foo<T: SomeTrait>(t: T) {}
```
, we are able to complete methods of `SomeTrait` on the `t`. This affects the trait APIs quite a bit (since every method that needs to be able to solve for some trait needs to get this environment somehow), so I thought I'd do it rather sooner than later ;)
Co-authored-by: Florian Diebold <[email protected]>
|
| | |
|
| | |
|
| |
| |
| |
| |
| | |
I.e. if we are inside a function with some where clauses, we assume these where
clauses hold.
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1512: Infer ? operator r=unrealhoang a=unrealhoang
Logical continuation of https://github.com/rust-analyzer/rust-analyzer/pull/1501
cc https://github.com/rust-analyzer/rust-analyzer/issues/1426
Co-authored-by: Unreal Hoang <[email protected]>
|
| | | |
|
| | | |
|
| | | |
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1514: Better completions for floating point primitive types r=flodiebold a=marcogroppo
After #1499 completions for (some of) the inherent methods of `f32` and `f64` are now working.
Unfortunately during method resolution we were only looking for the `f32` and `f64` language items defined in `libcore` and we were ignoring the methods defined in `libstd`.
This PR fixes this issue.
Co-authored-by: Marco Groppo <[email protected]>
|
|/ / |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
1513: Remove unused dependencies r=matklad a=sinkuu
Co-authored-by: Shotaro Yamada <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1511: Send old-style responsed to goto definition unless the client explicitelly opts in r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
| |
| |
| |
| | |
closes #1474
|
| | |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1504: Simplify LSP handlers r=matklad a=kjeremy
Takes advantage of protocol inheritance via composition and simplifies some responses via the `From`/`Into` traits.
Co-authored-by: Jeremy Kolb <[email protected]>
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1507: Constify KnownName's r=matklad a=mominul
Closes #1503
Co-authored-by: Muhammad Mominul Huque <[email protected]>
|
| | | |
|
| |/ |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
1506: Update memchr r=kjeremy a=kjeremy
New release has some performance improvements.
Co-authored-by: Jeremy Kolb <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1501: Infer for loop variable r=flodiebold a=unrealhoang
My take on https://github.com/rust-analyzer/rust-analyzer/issues/1425
Co-authored-by: Unreal Hoang <[email protected]>
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1499: processing attribute #[path] of module r=matklad a=andreevlex
support two cases
- simple name file `foo.rs`
- declaration in mod.rs
#1211
Co-authored-by: Alexander Andreev <[email protected]>
|
| | | |
|
| | | |
|
| | |
| | |
| | |
| | | |
#1211
|
|\ \ \
| |_|/
|/| |
| | |
| | |
| | |
| | |
| | | |
1502: Use inline snapshots in compelte_postfix r=matklad a=funkill
Relates to #1127
Co-authored-by: funkill2 <[email protected]>
|
|/ / |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
1497: bump regex r=kjeremy a=kjeremy
Co-authored-by: Jeremy Kolb <[email protected]>
|
|/ / |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
1496: Add trait obligations for where clauses when calling functions/methods r=matklad a=flodiebold
E.g. if we call `foo<T: Into<u32>>(x)`, that adds an obligation that `x: Into<u32>`, etc., which sometimes allows type inference to make further progress.
Co-authored-by: Florian Diebold <[email protected]>
|
| | |
|
|/
|
|
|
| |
E.g. if we call `foo<T: Into<u32>>(x)`, that adds an obligation that `x:
Into<u32>`, etc.
|
| |
|
|\
| |
| |
| |
| |
| |
| |
| | |
1495: use correct file for diagnostics r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
| |
| |
| |
| | |
closes #1475
|
|\|
| |
| |
| |
| |
| |
| |
| | |
1494: properly restrict diagnostics to a single file r=matklad a=matklad
Co-authored-by: Aleksey Kladov <[email protected]>
|
| | |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| | |
1493: Clippy trivially_copy_pass_by_ref r=matklad a=kjeremy
Clippy says that this is more efficient.
Co-authored-by: Jeremy Kolb <[email protected]>
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| | |
1491: More clippy r=matklad a=kjeremy
A few more clippy changes.
I'm a little unsure of the second commit. It's the trivially_copy_pass_by_ref lint and there are a number of places in the code we could use it if it makes sense.
Co-authored-by: Jeremy Kolb <[email protected]>
|
| | |
|
| |
| |
| |
| | |
https://rust-lang.github.io/rust-clippy/master/index.html#trivially_copy_pass_by_ref
|
| | |
|