RepoJournal

$ cat rust-lang/week/2026-11-02.log

Rust

Rust

the week in review · Nov 2 – Nov 8, 2026

rustc to stop silently dropping unknown LLVM diagnostics

By RepoJournal · composed from the cited sources · human-reviewed weekly · methodology

♥

rust-analyzer's ThinMap cuts 40mb to 142mb from analysis-stats runs, while rustup and Cargo close handling gaps in interrupted downloads and missing crates.

677 commits 178 PRs merged 3 releases 7 briefings covered

all rust-lang reviews →

Don't ignore unknown LLVM diagnostics rust-lang/rust

by nikic

Rust has been ignoring LLVM diagnostic kinds it does not recognize, which the PR notes means some error diagnostics get discarded and can then resurface later as harder-to-diagnose failures. Unknown kinds will now be surfaced rather than swallowed, so expect new compiler output where LLVM previously stayed quiet.

perf: Provide `ThinMap`, a map that uses `ThinVec` when the length is small rust-lang/rust-analyzer

by ChayimFriedman2

The new map is one machine word inline with no extra capacity out of line, and linear search wins at small lengths anyway. On `analysis-stats` it saves 40mb on self, 77mb on buck2 and 142mb on omicron, memory that lands directly on rust-analyzer's footprint in large workspaces.

fix(config)!: store override paths as given rust-lang/rustup

by akrm al-hakimi

`rustup override set` used to canonicalize the directory before writing it to `settings.toml`, so `--path` on a symlink recorded the target and a relative path to a not-yet-created directory was stored verbatim. Overrides are now stored as given and matched by identity rather than canonical path, marked as a breaking change, so paths already in settings.toml may not resolve the same way.

fix(registry): handle HTTP 410/451 for missing crates (#17665) rust-lang/cargo

by Scott Schafer

Handling for HTTP 410 and 451 was accidentally dropped, and this restores it so Cargo distinguishes a crate that is gone or unavailable from other registry failures. Registries that serve those codes behind mirrors or proxies behave per the documented behavior again.

Rollup merge of #162819 - kpreid:must-use-advice, r=fmease rust-lang/rust

by Jacob Pratt

The suggestion for `unused_must_use` now flags that ignoring a value is a decision, not a formality; the old "help: use `let _ = ...`" wording gave no hint that it might be the wrong move. Expect noisier help text in existing code that discards results.

Preserve window size and gzip mode across Decompress::reset rust-lang/flate2-rs

by Sharadhi-v98

`Decompress::new_with_window_bits` and `new_gzip` set up the inflate stream, but on the zlib C backends and zlib-rs, `reset()` reinitialized it with the default 15 window bits. After `reset(true)` a 9-bit-window decoder would accept zlib streams declaring a 32 KiB window, so code reusing a decompressor across resets was validating less than it asked for.

Auto merge of #165432 - JonathanBrouwer:rollup-V0ind8A, r=JonathanBrouwer rust-lang/rust

by bors

The week's merges include a fix for unsoundness when compiling `[diverging_const; 0]`, plus a rustdoc perf change avoiding redundant HIR-ty-lowering of types and const args where possible.

Rollup merge of #165231 - RichardTjokroutomo:target-argument-removal, r=JonathanBrouwer rust-lang/rust

by Jonathan Brouwer

Alongside: rollups also landed a scarier `unused_must_use` suggestion, removal of a redundant `Target` parameter from `AttributeParser` methods, a more accurate span in the never-pattern match arm suggestion, and a new `#[lint::attribute]` tool namespace parsed but not yet builtin.

$ ls rust-lang/week/ # the briefings behind this review

Keep up with Rust in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

all rust-lang reviews →