6651: Profile completions better r=SomeoneToIgnore a=SomeoneToIgnore
During https://github.com/rust-analyzer/rust-analyzer/issues/6612 investigation, had added a few more profiling points and considered that they can be useful later, ergo the PR.
Co-authored-by: Kirill Bulatov <mail4score@gmail.com>
6586: Don't call a closure a function in the infer_function_return_type assist label r=lnicola a=Veykril
`Add this function's return type` becomes `Add this closure's return type` for closures. This makes it more obvious that we are indeed planning on modifying the closure and not its containing function.
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
6639: Use `ExpandResult` instead of `MacroResult` r=jonas-schievink a=jonas-schievink
`MacroResult` is redundant.
bors r+ 🤖
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
6637: Publish diagnostics on file open r=jonas-schievink a=jonas-schievink
Diagnostics are sometimes only showing up when typing. This should fix that.
Fixes https://github.com/rust-analyzer/rust-analyzer/issues/6381
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
6496: Use builtin scopes more r=matklad a=georgewfraser
VSCode has added more builtin fallback scopes, so we can remove some of our fallback scopes by aligning with their conventions.
Note that the macro scope doesn't seem to actually *work* at the moment. I have filed a bug with VSCode: https://github.com/microsoft/vscode/issues/110150
Co-authored-by: George Fraser <george@fivetran.com>
6625: hir_expand: propagate expansion errors r=jonas-schievink a=jonas-schievink
This is needed to collect and report expansion errors later.
bors r+ 🤖
Co-authored-by: Jonas Schievink <jonasschievink@gmail.com>
6618: Properly infer tuple patterns when encountering ellipsis r=Veykril a=Veykril
We basically just split the subpatterns into two halves when the ellipsis is present and then offset the latter half to account for the ignored bindings.
Fixes#6616
Co-authored-by: Lukas Wirth <lukastw97@gmail.com>
6620: cargo update (without cargo_metadata) r=kjeremy a=kjeremy
This is a `cargo update` run without updating `cargo_metadata`.
`cargo_metadata` `0.12.1` pins `semver-parser` to `0.10.0` (4e88e5624c) which brings back the compile time blowup that @matklad tried so hard to avoid in https://github.com/steveklabnik/semver-parser/pull/50.
Co-authored-by: kjeremy <kjeremy@gmail.com>