99 wires and counting

$ follow Rust

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.

$ status

wire 2026-08-30
stories 119

© 2026 RepoJournal Home Showcase Explore How it works Privacy

$ the-wire · showcase

Rust fixes ICEs in never type attributes and BTreeMap panic safety

By RepoJournal · Filed · About Rust

Rust removes compiler ICEs from leftover never-type attributes, hardens BTreeMap::split_off against inconsistent panics, and rust-analyzer matches rustdoc docs rendering precisely.

The Rust compiler now errors instead of ICEing when it sees the removed `#![rustc_never_type_options()]` attribute, after fuzzing found two crash sites in `check_attr.rs` and `validate_attr.rs` [1]. `BTreeMap::split_off` now aborts instead of unwinding out of an inconsistent state when the caller's `Ord` or `Borrow` impl panics mid-split, fixing an issue where the two roots could alias the same values [2]. rust-analyzer's docs rendering now matches rustdoc precisely, fixing mixed sugared and desugared docs, indentation trimming, and outlined module indentation [3]. The proc macro server's `NamedTempFile` handling now uses `OpenOptions::write(true)`, falls back to the original DLL when copying fails, and uses a temporary directory for `Cargo.lock` because Cargo only accepts literally-named files [4]. The SGX TLS destructor now stores an `AtomicPtr<()>` instead of `AtomicUsize`, preserving pointer provenance and silencing miri in that code path [5]. rustlings added its first async exercise, but its story was rewritten to use return values instead of atomics and drop `println!()` because it takes a global lock [6]. The crates.io index added new crates `runlab`, `run_engine`, and `fastmind-macros`, and updated `kevy-hash` and `kevy-geo` [7][8][9].

Action items

References

  1. [1] remove rustc_never_type_options attr remnants ↗ rust-lang/rust
  2. [2] Rollup merge of #161975 - matthew-demidoff:btree-split-off-panic-safety, r=nia-e ↗ rust-lang/rust
  3. [3] fix: Fix some subtle bugs in docs rendering ↗ rust-lang/rust-analyzer
  4. [4] Fix `NamedTempFile` ↗ rust-lang/rust-analyzer
  5. [5] Rollup merge of #161960 - phlip9:phlip9/sgx-fix-tls-ptr-provenance, r=clarfonthey ↗ rust-lang/rust
  6. [6] Change story of exercise async1 ↗ rust-lang/rustlings
  7. [7] Create crate `runlab` ↗ rust-lang/crates.io-index
  8. [8] Create crate `run_engine` ↗ rust-lang/crates.io-index
  9. [9] Create crate `fastmind-macros` ↗ rust-lang/crates.io-index

Quick answers

What shipped in Rust on August 30, 2026?
Rust removes compiler ICEs from leftover never-type attributes, hardens BTreeMap::split_off against inconsistent panics, and rust-analyzer matches rustdoc docs rendering precisely. In total, 98 commits, 20 pull requests, and 1 releases landed.
Who contributed to Rust on August 30, 2026?
6 developers shipped this update, including bors, senekor, Matthias Krüger, Jonathan Brouwer, Guillaume Gomez, and ChayimFriedman2.
What were the notable Rust updates?
remove rustc_never_type_options attr remnants, Rollup merge of #161975 - matthew-demidoff:btree-split-off-panic-safety, r=nia-e, and fix: Fix some subtle bugs in docs rendering.