| commit | 60b0c9c2b38a395982699c1a69a7e4c8d46ce366 | [log] [tgz] |
|---|---|---|
| author | bors <bors@rust-lang.org> | Sun Nov 16 23:17:36 2025 +0000 |
| committer | bors <bors@rust-lang.org> | Sun Nov 16 23:17:36 2025 +0000 |
| tree | dd9f1e748612e5c2cf3ed7e1e810903291ce5fcb | |
| parent | fb5cda8eccd6088cf9e07b06d557d1e8504b35e3 [diff] | |
| parent | a40028e287bf51087e8aee9c70a04fa682cae04b [diff] |
Auto merge of #145809 - he32:installer-perf-fix-1, r=Mark-Simulacrum rust-installer/install-template.sh: improve efficiency, step 1. This round replaces repetitive pattern matching in the inner loop of this script using grep (which causes a `fork()` for each test) with built-in pattern matching in the Bourne shell using the `case` / `esac` construct. This in reference to https://github.com/rust-lang/rust/issues/80684 and is a separated-out request from https://github.com/rust-lang/rust-installer/pull/111 which apparently never got any review. The forthcoming planned "step 2" change builds on top of this change, and replaces the inner-loops needless uses of `sed` (which again causes a `fork()` for each instance) with the suffix removal constructs from the Bourne shell. Since this change touches lots of the same lines this change does, that pull request cannot be submitted before this one is accepted. Hopefully this first step is less controversial than the latter change.
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.
https://rust-analyzer.github.io/book/installation.html
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.
See the security and privacy sections of the manual.
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
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.