The Wire · Showcase
RUST REVERTS DBG! MACRO AFTER REGRESSION CASCADE
By RepoJournal · Filed · About Rust
The `dbg!` macro is going back to square one after three separate regressions forced the compiler team to abandon an experimental tearing optimization.
Rust is reverting the `dbg!` macro to its original implementation across all branches [1]. The macro had been modified in rust-lang/rust#149869, but the change triggered a cascade of regressions that proved too costly to fix forward. Two regressions were caught and patched [1], but a third emerged in #155902 with a proposed fix still pending, making a full revert the safer path. This is the second revert on this change; the team already backed it out on beta to protect the 1.95 release. The decision reflects a pragmatic choice: experimental optimizations to core macros need ironclad testing before shipping, and three bites at the apple is enough.
Elsewhere on the compiler desk, a six-PR rollup landed that spans FreeBSD aarch64 support, miri subtree updates, and xray instrumentation for bare-metal targets [2]. The miri subtree was refreshed independently as well [3]. Privacy checking in the compiler got a structural upgrade [4], moving from fixed-point iteration to a queue-based approach that's more efficient when visibility updates propagate. On the stdarch side, intrinsic test generation got cleaner: the team removed manual indentation logic and now pipe generated sources through rustfmt [ref:11, ref:12], simplifying the test generator significantly. These are quiet wins that improve maintainability without user-facing changes.
Action items
- → Watch for dbg! behavior changes in nightly; the revert lands immediately rust-lang/rust [monitor]
- → If you use `aarch64-unknown-none` with xray profiling, the infrastructure is now in place rust-lang/rust [plan]
- → Monitor PR #155915 on the remaining dbg! regression; this will determine if the revert holds rust-lang/rust [monitor]
References
- [1] Revert tearing changes to `dbg!` ↗ rust-lang/rust
- [2] Rollup of 6 pull requests ↗ rust-lang/rust
- [3] miri subtree update ↗ rust-lang/rust
- [4] Privacy: try use queue instead of fixed-point iteration ↗ rust-lang/rust
- [5] intrinsic-test: remove all indentation logic rust-lang/stdarch
- [6] intrinsic-test: run rustfmt on generated sources ↗ rust-lang/stdarch
FAQ
- What changed in Rust on May 20, 2026?
- The `dbg!` macro is going back to square one after three separate regressions forced the compiler team to abandon an experimental tearing optimization.
- What should Rust teams do about it?
- Watch for dbg! behavior changes in nightly; the revert lands immediately • If you use `aarch64-unknown-none` with xray profiling, the infrastructure is now in place • Monitor PR #155915 on the remaining dbg! regression; this will determine if the revert holds
- Which Rust repositories shipped on May 20, 2026?
- rust-lang/rust, rust-lang/stdarch