| Commit message (Collapse) | Author | Age | Files | Lines |
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3580: More error-resilient MBE expansion r=matklad a=flodiebold
This is the beginning of an attempt to make macro-by-example expansion more resilient, so that we still get an expansion even if no rule exactly matches, with the goal to make completion work better in macro calls.
The general idea is to make everything return `(T, Option<ExpandError>)` instead of `Result<T, ExpandError>`; and then to try each macro arm in turn, and somehow choose the 'best' matching rule if none matches without errors. Finding that 'best' match isn't done yet; I'm currently counting how many tokens were consumed from the args before an error, but it also needs to take into account whether there were further patterns that had nothing to match.
I'll continue this later, but I'm interested whether you think this is the right path, @matklad & @edwin0cheng.
Co-authored-by: Florian Diebold <[email protected]>
Co-authored-by: Florian Diebold <[email protected]>
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
| | |
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
3624: Tidier tidy checks r=matklad a=matklad
bors r+
🤖
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/ / |
|
|\ \
| | |
| | | |
Gate release action to rust-analyzer owner
|
| | |
| | |
| | | |
Co-Authored-By: Florian Diebold <[email protected]>
|
| | | |
|
|\ \ \
| |/ /
|/| |
| | |
| | |
| | |
| | |
| | | |
3616: Update dependencies, removing rustc_version r=matklad a=kjeremy
Co-authored-by: kjeremy <[email protected]>
|
| |/ |
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| | |
3614: Separate persistent mutable state from config r=matklad a=matklad
That way, we clearly see which things are not change, and we also
clearly see which things are persistent.
r? @Veetaha
Co-authored-by: Aleksey Kladov <[email protected]>
|
| |
| |
| |
| |
| | |
That way, we clearly see which things are not change, and we also
clearly see which things are persistent.
|
| | |
|
|\ \
| |/
|/| |
Fix audit caching better
|
| | |
|
|\|
| |
| | |
Fix cargo audit caching
|
|/
|
|
|
|
| |
See
https://github.com/actions/cache/issues/133#issuecomment-599102035
for chown bit
|
|\
| |
| | |
Cache cargo-audit on CI
|
| |
| |
| |
| | |
In bash, && and || have the same priority.
|
| |
| |
| |
| | |
closes #3399
|
|\ \
| |/
|/|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3584: Switch to dynamic dispatch r=matklad a=matklad
Benches are in https://github.com/rust-analyzer/rust-analyzer/issues/1987#issuecomment-598807185
TL;DR:
* 33% faster release build
* slightly worse/same perf
* no changes for debug build
* slightly smaller binary
cc @flodiebold I genuinely don't know if it is a good idea or not.
Co-authored-by: Aleksey Kladov <[email protected]>
|
|/
|
|
|
|
|
| |
It improves compile time in `--release` mode quite a bit, it doesn't
really slow things down and, conceptually, it seems closer to what we
want the physical architecture to look like (we don't want to
monomorphise EVERYTHING in a single leaf crate).
|
|\
| |
| | |
Add installation notes for Arch Linux users
|
| | |
|
| | |
|
|\ \
| |/
|/| |
Retry rust audit as well
|
|/
|
|
| |
https://github.com/rust-analyzer/rust-analyzer/runs/511553989?check_suite_focus=true#step:3:6
|
|\
| |
| |
| |
| |
| |
| |
| | |
3604: Remove dat fixme r=matklad a=Veetaha
Cleanup as per #3603
Co-authored-by: Veetaha <[email protected]>
|
| | |
|
|\ \
| | |
| | | |
Make audit more reliable
|
| | |
| | |
| | |
| | |
| | |
| | | |
I've seen this transient error a couple of times:
https://github.com/rust-analyzer/rust-analyzer/runs/511162809?check_suite_focus=true#step:5:8
|
|/ / |
|
|/ |
|
|\
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
3573: Check all crates of the workspace r=matklad a=matklad
Previously, if the root of the was was a real crate, only this crate
was checked.
Ideally, we might want some kind of config here (which might be just
overriding the whole command), but `--workspace` is def a nicer
default.
r? @kiljacken
Co-authored-by: Aleksey Kladov <[email protected]>
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Previously, if the root of the was was a real crate, only this crate
was checked.
Ideally, we might want some kind of config here (which might be just
overriding the whole command), but `--workspace` is def a nicer
default.
|
|\ \
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
3587: Use WorkDoneProgress LSP API for initial load r=matklad a=slyngbaek
Addresses #3283
Rather than using custom UI for showing the loaded state. Rely
on the WorkDoneProgress API in 3.15.0
https://microsoft.github.io/language-server-protocol/specification#workDoneProgress.
No client-side work was necessary. The UI is not exactly what is
described in the issue but afaict that's how VS Code implements the LSP
API.
- The WorkDoneProgressEnd does not appear to display its message
contents (controlled by vscode)
Co-authored-by: Steffen Lyngbaek <[email protected]>
|
| | | |
|
| | |
| | |
| | |
| | | |
- Handle case of no projects. The notification still needs to be posted
|
| | | |
|
| | |
| | |
| | |
| | | |
- Properly wait for workspace loading to be done
|