Updates

rust-analyzer adds async .await fix and cuts memory use by 70 MB

rust-analyzer can now suggest a missing .await, while a Salsa bump cuts 70 MB from analysis-stats self and eases pressure on big projects.

Jamie Taylor··2 min read
Published
Listen to this article0:00 min
rust-analyzer adds async .await fix and cuts memory use by 70 MB
Photo illustration

A forgotten .await just became easier to catch in rust-analyzer, and the June 29 release v0.3.2955 also shaved 70 MB off analysis-stats self. For Rust developers living inside an editor, that means quicker fix-ups when async code goes stale and a little more breathing room when the language server is chewing through a large project.

The new quick fix targets a type_mismatch that points to an async call where .await was omitted, turning one of Rust’s more common editor-time mistakes into a one-click correction. The same release added a mut-ref-in-imm-ref-pat diagnostic, another small but useful nudge when code compiles in unexpected ways or fails with an ownership pattern that is easy to miss during rapid editing. Those are exactly the kinds of warnings that shape how fast a developer can move from a compiler-like hint to a working patch.

AI-generated illustration
AI-generated illustration

Performance got its own headline. rust-analyzer’s maintainers bumped Salsa, the incremental recomputation framework it uses to reuse query results as inputs change, and said that change alone saves 70 MB on analysis-stats self. That matters because rust-analyzer is constantly rebuilding analysis as code changes, and memory pressure shows up immediately in responsiveness. Earlier Salsa-related work in the project had already reported much larger drops, from 1529 MB to 937 MB in one analysis-stats run and from 4169 MB to 2496 MB in another, underscoring how much the engine’s internals can move the feel of the editor.

Data visualization chart
Data Visualisation

The release also removed a crash when hovering over anonymous constants and changed formatting so if-let guards are no longer parenthesized. Those are the kinds of paper cuts that do not announce themselves until they interrupt a normal editing session, which is why their removal tends to be felt more than advertised. A first-contribution change also marked inline_convert_while_ascii as unsafe, part of the constant cleanup that keeps the codebase maintainable.

rust-analyzer describes itself as a language server for Rust IDE functionality, and its site says the project is developed by Ferrous Systems with support from Mozilla, Embark Studios, freiheit.com, and other contributors. The release feed, branded as “rust-analyzer: building a better Rust IDE,” now reads less like a changelog and more like a steady tightening of the editor experience that Rust users depend on every day.

This article was produced by Prism’s automated news system from verified source data, official records, and press releases, then run through automated quality and moderation checks before publishing. The system is built and supervised by the people who set the standards it runs under. Read our full AI policy.

Did this article answer your question?

Discussion

More Rust Programming News