rust-analyzer v0.3.3005 (release 2026-08-10, commit 57411b3) ships a large batch of bug fixes and internal improvements. Fixes include: accepting trailing `self` in paths, parsing inner attributes in loop bodies, allowing struct literals in match guards, resolving assignment LHS in its expression scope, merging inference code for `let` expressions and statements, fixing `ExprScopes` handling inside patterns, supporting macros in `#[doc]` attributes, eliminating several panics (bound variables, `m!('a)`, `[usize; ""]`), propagating macro expansion depth across body/block boundaries, making `pub macro`s available to reverse dependencies, parsing inline asm with keyword operand names, and excluding unit/never/unknown types from term search. Internal changes include a single-threaded rayon pool for non-parallel analysis-stats, quiet mode for diagnostics, progress bars restricted to TTYs, and dependency bumps for salsa and gen-lsp-types.

2m read timeFrom rust-analyzer.github.io
Post cover image

Questions this post answers

What bugs were fixed in rust-analyzer v0.3.3005?

rust-analyzer v0.3.3005 fixes trailing `self` in paths, inner attributes in loop bodies, struct literals in match guards, assignment LHS scope resolution, `let` expression/statement inference merging, `ExprScopes` inside patterns, several panics (bound variables, `m!('a)`, `[usize; ""]`), macro expansion depth propagation, `pub macro` visibility to reverse dependencies, inline asm keyword operand names, and term search exclusions for unit/never/unknown types. Rust developers tracking rust-analyzer releases keep up with fixes like these on daily.dev.

1.3K Impressions