$ the-wire · showcase
rustc stops swallowing unknown LLVM diagnostics, rust-analyzer lands ThinMap
By RepoJournal · Filed · About Rust · Composed from the cited sources · methodology
The compiler now reads LLVM diagnostic severity for every kind it encounters, closing a path where unrecognized errors produced silent miscompiles, while rust-analyzer's new ThinMap cuts hundreds of megabytes from analysis-stat runs.
Don't ignore unknown LLVM diagnostics rust-lang/rust
Rust used to ignore LLVM diagnostic kinds it did not know, which meant error diagnostics could pass through and yield silent miscompiles. The change exposes LLVMGetDiagInfoSeverity, returning DiagnosticSeverity (renamed from DiagnosticLevel to match LLVM terminology), replacing the custom severity-fetching code.
perf: Provide `ThinMap`, a map that uses `ThinVec` when the length is small rust-lang/rust-analyzer
ChayimFriedman2's ThinMap stores small maps inline in a single machine word with no extra inline capacity, falling back to a compact outline allocation, so short maps get linear search rather than a hash. The PR reports 40 MB saved on self, 77 MB on buck2 and 142 MB on omicron under analysis-stats, with roughly 3 G instructions saved on self and buck2 and 30 G on omicron; walltime was too noisy...
2026-11-02 rust-lang/rust-analyzer
by github-actions[bot]
Release 2026-11-02 (v0.3.3105) bumps rustc_lexer to handle forced keywords written as k#ident, landing alongside the ThinMap performance work. Anyone tracking nightly rust-analyzer gets the lexer change with the release.
Rollup merge of #162819 - kpreid:must-use-advice, r=fmease rust-lang/rust
The unused_must_use help text was ambiguous enough to read as advice, so it now says "help: if you wish to disregard this recommendation and immediately drop the value, use `let _ = ...`" where it previously offered a bare "help: use `let _ = ...` to ignore the resulting value". Expect UI test stderr that matches on the old string to need updating.
fix: signed abs rounding error in remainder identity check (#17963) rust-lang/rust-clippy
Clippy's identity_op no longer reports a false positive on the i128 modulus identity edge case, which came from a signed abs rounding error. The same fix closes the mirrored false positive in assert_is_empty, which no longer lints in constant context.