Go to file
Lukas Wirth c3a6c963e5 Amalgamate file changes for the same file ids in process_changes
When receiving multiple change events for a single file id where the
last change is a delete the server panics, as it tries to access the
file contents of a deleted file. This occurs due to the VFS changes and
the in memory file contents being updated immediately, while
`process_changes` processes the events afterwards in sequence which no
longer works as it will only observe the final file contents. By
folding these events together, we will no longer try to process these
intermediate changes, as they aren't relevant anyways.

Potentially fixes https://github.com/rust-lang/rust-analyzer/issues/13236
2022-09-27 16:41:04 +02:00
.cargo
.github use rustup minimal profile and add curl retries 2022-09-10 23:43:33 -07:00
.vscode Take into account renamed extension id when launching 2022-08-12 18:06:58 +02:00
assets
bench_data
crates Amalgamate file changes for the same file ids in process_changes 2022-09-27 16:41:04 +02:00
docs Auto merge of #13221 - mdx97:mdx97/annotations-above-whole-item, r=Veykril 2022-09-13 15:09:53 +00:00
editors/code Auto merge of #13221 - mdx97:mdx97/annotations-above-whole-item, r=Veykril 2022-09-13 15:09:53 +00:00
lib Lift out the module scope into a field in the Resolver 2022-09-02 17:02:12 +02:00
xtask
.editorconfig
.git-blame-ignore-revs
.gitattributes
.gitignore
Cargo.lock Make use of NoHash hashing for FileId and CrateId 2022-08-25 20:41:49 +02:00
Cargo.toml
LICENSE-APACHE
LICENSE-MIT
PRIVACY.md
README.md
rustfmt.toml
triagebot.toml

rust-analyzer logo

rust-analyzer is a modular compiler frontend for the Rust language. It is a part of a larger rls-2.0 effort to create excellent IDE support for Rust.

Quick Start

https://rust-analyzer.github.io/manual.html#installation

Documentation

If you want to contribute to rust-analyzer or are just curious about how things work under the hood, check the ./docs/dev folder.

If you want to use rust-analyzer's language server with your editor of choice, check the manual folder. It also contains some tips & tricks to help you be more productive when using rust-analyzer.

Security and Privacy

See the corresponding sections of the manual.

Communication

For usage and troubleshooting requests, please use "IDEs and Editors" category of the Rust forum:

https://users.rust-lang.org/c/ide/14

For questions about development and implementation, join rust-analyzer working group on Zulip:

https://rust-lang.zulipchat.com/#narrow/stream/185405-t-compiler.2Frust-analyzer

License

rust-analyzer is primarily distributed under the terms of both the MIT license and the Apache License (Version 2.0).

See LICENSE-APACHE and LICENSE-MIT for details.