RepoJournal
Rust

@rust-lang

The Rust language, Cargo, and the standard library

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

One email a day. Unsubscribe in one click.

Pick a date

Topics: Rust Full archive →

The Wire · Showcase

MIRI OVERHAULS EPOLL STATE TRACKING, FUTURES-RS PATCHES SOUNDNESS BUG

By RepoJournal · Filed · About Rust

Miri's readiness watcher table got replaced with per-FD state tracking, catching undefined behavior that futures-rs shipped with and forcing an emergency fix.

Miri's epoll implementation just got a major refactor [1]. The new per-FD state tracking reduces GC pressure, cleans up resources immediately on drop, and introduces proper vector clock tracking for readiness notifications across threads. The commits also fix Illumos semantics for closed file descriptors and correct the logic for fcntl(F_DUPFD), though Illumos behavior remains untested on real hardware [2]. This work uncovered a soundness bug that was already in the wild: futures-rs's compat01as03 layer contained undefined behavior in NotifyWaker's drop_raw implementation [3]. Miri flagged it trying to retag memory with incorrect permissions. The fix wraps the problematic code in UnsafeCell to match the documented API contract [4]. On the infrastructure side, the Rust team enabled merge queue deployments for the blog [5][6] and created a maintainers-in-residence marker team [7] ahead of future appointments. compiler-builtins renamed float traits and overhauled test iteration counting to support unlimited test runs [8][9][10]. Five arcbox-virtio crates shipped routine index updates across the fs, console, block, balloon, and core modules [11][12][13][14][15].

One email a day. Unsubscribe in one click.

Action items

References

  1. [1] replace global readiness watcher table by per-FD state ↗ rust-lang/miri
  2. [2] clean up epoll interest lists immediately when FD gets dropped rust-lang/miri
  3. [3] Fix unsound compat01as03 implementation (fixes #2514) ↗ rust-lang/futures-rs
  4. [4] Fix unsound compat01as03 implementation (fixes #2514) (#3012) rust-lang/futures-rs
  5. [5] Allow deploying the blog from the merge queue ↗ rust-lang/team
  6. [6] Enable merge queue for the blog repository ↗ rust-lang/team
  7. [7] Create `maintainers-in-residence` marker team ↗ rust-lang/team
  8. [8] Rename float traits, improvements for extensive tests ↗ rust-lang/compiler-builtins
  9. [9] test: Rename `iteration_count` to `arg_max_iterations` rust-lang/compiler-builtins
  10. [10] test: Allow specifying LIBM_EXTENSIVE_ITERATIONS as u64::MAX rust-lang/compiler-builtins
  11. [11] Update crate `arcbox-virtio-fs` rust-lang/crates.io-index
  12. [12] Update crate `arcbox-virtio-console` rust-lang/crates.io-index
  13. [13] Update crate `arcbox-virtio-blk` rust-lang/crates.io-index
  14. [14] Update crate `arcbox-virtio-balloon` rust-lang/crates.io-index
  15. [15] Update crate `arcbox-virtio-core` rust-lang/crates.io-index

Quick answers

What shipped in Rust on July 18, 2026?
Miri's readiness watcher table got replaced with per-FD state tracking, catching undefined behavior that futures-rs shipped with and forcing an emergency fix. In total, 74 commits and 8 pull requests landed.
Who contributed to Rust on July 18, 2026?
7 developers shipped this update, including bors, RalfJung, WhySoBad, Kobzol, 许杰友 Jieyou Xu (Joe), tgross35, and stbuehler.
What were the notable Rust updates?
replace global readiness watcher table by per-FD state, clean up epoll interest lists immediately when FD gets dropped, and Fix unsound compat01as03 implementation (fixes #2514).

More from @rust-lang

Daily updates, in your inbox

Follow Rust

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

or

One email a day. Unsubscribe in one click. Read a past issue →

Elsewhere on the wire

Want every project, not just this one?

We use privacy-friendly analytics (Google Analytics, IP-anonymized) to see which pages help readers. No ads, and we never sell your data. See our Privacy Policy.