A Rust compiler front-end for IDEs
Find a file
Laurențiu Nicola 624761a864
Some checks failed
rustdoc / rustdoc (push) Has been cancelled
metrics / build_metrics (push) Has been cancelled
metrics / other_metrics (diesel-1.4.8) (push) Has been cancelled
metrics / other_metrics (hyper-0.14.18) (push) Has been cancelled
metrics / other_metrics (ripgrep-13.0.0) (push) Has been cancelled
metrics / other_metrics (self) (push) Has been cancelled
metrics / other_metrics (webrender-2022) (push) Has been cancelled
metrics / generate_final_metrics (push) Has been cancelled
Merge pull request #21318 from rust-lang/rustc-pull
minor: Rustc pull update
2025-12-22 13:49:55 +00:00
.cargo
.github Fix rustdoc warnings and add CI 2025-12-01 13:06:15 +00:00
.vscode
assets
bench_data chore: Bump Edition::CURRENT to 2024 2025-03-17 12:29:19 +01:00
crates Merge pull request #21318 from rust-lang/rustc-pull 2025-12-22 13:49:55 +00:00
docs/book Merge pull request #20472 from BenjaminBrienen/remove-style-point 2025-12-21 14:02:48 +00:00
editors/code Add lsp extension to get failed trait obligations for a given function 2025-12-20 22:43:58 +00:00
lib Remove Rust ungram file from the Ungrammar repo 2025-12-16 21:59:12 +02:00
xtask Merge pull request #20439 from A4-Tacks/t-macro-bracket-doc 2025-12-21 14:19:06 +00:00
.editorconfig fix: do not apply editorconfig to git commit msg 2025-03-08 01:44:27 +05:30
.git-blame-ignore-revs Fix some mir eval/lowerings 2025-02-03 14:42:41 +01:00
.gitattributes
.gitignore
.typos.toml Properly support opaques 2025-10-27 17:17:57 +02:00
Cargo.lock internal: Fix hir-ty implicit serde derive feature 2025-12-21 15:30:47 +08:00
Cargo.toml Merge pull request #21283 from ChayimFriedman2/upgrade-salsa 2025-12-17 11:09:07 +00:00
clippy.toml
CONTRIBUTING.md Call out feature freeze on IDE assists 2025-12-21 14:11:48 +01:00
josh-sync.toml Reformat code after rustc-pull 2025-10-02 10:23:35 +03:00
LICENSE-APACHE
LICENSE-MIT
PRIVACY.md Update PRIVACY.md 2025-02-07 20:18:21 +01:00
README.md Update license references to use markdown links 2025-10-02 23:56:02 +07:00
rust-version Prepare for merging from rust-lang/rust 2025-12-22 04:21:46 +00:00
rustfmt.toml Fix rustfmt for files that use 2024-edition syntax 2025-10-23 23:13:13 +02:00
triagebot.toml Remove [no-mentions] handler in our triagebot config 2025-12-08 19:19:22 +01:00

rust-analyzer logo

rust-analyzer is a language server that provides IDE functionality for writing Rust programs. You can use it with any editor that supports the Language Server Protocol (VS Code, Vim, Emacs, Zed, etc).

rust-analyzer features include go-to-definition, find-all-references, refactorings and code completion. rust-analyzer also supports integrated formatting (with rustfmt) and integrated diagnostics (with rustc and clippy).

Internally, rust-analyzer is structured as a set of libraries for analyzing Rust code. See Architecture in the manual.

Quick Start

https://rust-analyzer.github.io/book/installation.html

Documentation

If you want to contribute to rust-analyzer check out the CONTRIBUTING.md or if you are just curious about how things work under the hood, see the Contributing section of the manual.

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

Security and Privacy

See the security and privacy 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.