Updates

rust-analyzer 0.3.2878 streamlines renames, deprecations, and type checking

A field rename now follows constructor variables too, while deprecations and type checking line up more closely with rustc.

Sam Ortega··2 min read
Published
Listen to this article0:00 min
Share this article:
rust-analyzer 0.3.2878 streamlines renames, deprecations, and type checking
AI-generated illustration

rust-analyzer 0.3.2878 shipped the kind of update Rust developers feel immediately in the editor: rename a struct field, and the variables in constructors now move with it. That closes one of those tiny but constant paper cuts where a data model changes cleanly in one place and drifts in another, especially in codebases built around constructor-heavy patterns.

The same release tightened deprecated-item handling in a way that matters the moment you start cleaning up an API surface. If an enum is deprecated, its variants now inherit that status too, so the language server no longer treats those children as if they were fresh, isolated symbols. That makes deprecated items less prominent in results and reduces the chance of reaching for the wrong symbol while you are chasing warnings across a large module tree.

On the analysis side, rust-analyzer also ported call-expression type checking and closure upvar inference from rustc. That is the sort of change you notice less when it works and very quickly when it does not. It means the editor’s internal model keeps tightening around the compiler’s behavior, which cuts down on the small mismatches that slow you down when a closure captures more than you expected or a call site needs careful type guidance. The release also improved Go to definition for comparison operators, a narrow fix that pays off in real time when you are moving through generic-heavy code and want the jump to land where your eyes already were.

Related stock photo
Photo by Daniil Komov

There was quieter housekeeping too, but it was the useful kind. The release de-duplicated lints, stopped checking solver cache validity on every access, moved wrap_unwrap_cfg_attr to SyntaxEditor and SyntaxFactory, and grouped unstable features into a structured representation. Those changes do not show up as flashy features, yet they help keep the language server fast enough and maintainable enough to serve modern Rust editing without stalling under its own weight.

rust-analyzer’s own site describes the project as free and open source, developed by Ferrous Systems with support from multiple companies and individuals, including Mozilla, Embark Studios, and freiheit.com. The project’s cadence still looks brisk: v0.3.2878 arrived just a week after v0.3.2870 on April 20, 2026, and the release page pointed straight to a changelog post. For people who live in the editor all day, that weekly churn is the point.

Know something we missed? Have a correction or additional information?

Submit a Tip

Never miss a story.

Get Rust Programming updates weekly. The top stories delivered to your inbox.

Free forever · Unsubscribe anytime

Discussion

More Rust Programming News

rust-analyzer 0.3.2878 streamlines renames, deprecations, and type checking | Prism News