The Wire · Showcase
RUSTFMT PIVOTS TO CONST IMPL SYNTAX AS COMPILER HARDENS FEATURE GATES
By RepoJournal · Filed · About Rust
Rust's formatter shipped a syntax transition PR ahead of the next beta, moving const trait impls from `impl const Trait` to `const impl Trait` to align with upcoming parser changes in the compiler.
The rollup landed 10 PRs across the compiler pipeline [1], including a critical rustfmt update [2] that reformats const trait implementations to the new `const impl` syntax. This move is intentional: rustc is dropping parser support for the old `impl const Trait` form in the next beta, so rustfmt needs to lead the transition now. In parallel, the compiler tightened its debug info handling [1] to gracefully fail on invalid `String` and `Vec` representations, and fixed a long-standing RTN FIXME that no longer applies now that return type notation uses `(..)` syntax [3]. The docs pipeline also got a quality-of-life improvement: traits that ARE dyn compatible now show a "Dyn Compatibility" section, not just the ones that aren't [4]. On the analyzer front, rust-analyzer merged fixes for named consts in range pattern types [5] and added clearer error reporting for unimplemented builtin macros [6], both addressing gaps in IDE diagnostics that were confusing developers. All of this landed on the heels of a crates.io index push for mockforge-security-core [7], the security-focused test harness suite.
Action items
- → Update rustfmt configurations if you've pinned const trait syntax; the new `const impl` form is now the standard rust-lang/rust [plan]
- → Verify your range pattern type usage with the latest rust-analyzer if you rely on named const bounds rust-lang/rust-analyzer [monitor]
- → Review the Windows LLVM DLL changes if you build on Windows; this is required for the next nightly rust-lang/rust [plan]
References
- [1] Rollup of 10 pull requests ↗ rust-lang/rust
- [2] Rollup merge of #156815 - fee1-dead-contrib:rustfmt-const-traits, r=ytmimi rust-lang/rust
- [3] Rollup merge of #156725 - P8L1:fix/rtn-assoc-ty-parentheses-diagnostic, r=jackh726 rust-lang/rust
- [4] Auto merge of #156835 - yotamofek:pr/positive-dyn-compatible, r=fmease rust-lang/rust
- [5] Merge pull request #22396 from ChayimFriedman2/pat-ty-const rust-lang/rust-analyzer
- [6] Merge pull request #22383 from ChayimFriedman2/unimplemented-builtin rust-lang/rust-analyzer
- [7] Update crate `mockforge-security-core` rust-lang/crates.io-index
FAQ
- What changed in Rust on May 23, 2026?
- Rust's formatter shipped a syntax transition PR ahead of the next beta, moving const trait impls from `impl const Trait` to `const impl Trait` to align with upcoming parser changes in the compiler.
- What should Rust teams do about it?
- Update rustfmt configurations if you've pinned const trait syntax; the new `const impl` form is now the standard • Verify your range pattern type usage with the latest rust-analyzer if you rely on named const bounds • Review the Windows LLVM DLL changes if you build on Windows; this is required for the next nightly
- Which Rust repositories shipped on May 23, 2026?
- rust-lang/rust, rust-lang/rust-analyzer, rust-lang/crates.io-index