$ the-wire · showcase
Const Range iteration, reexport chains fixed, TWiR 669 lands
By RepoJournal · Filed · About Rust · Composed from the cited sources · methodology
Rust's compiler pipeline absorbed a 10-PR rollup headed by `const` iterator support for `Range`, while name resolution gained a fix that keeps transient-crate reexports intact and This Week in Rust shipped issue 669.
Auto merge of #162853 - Zalathar:rollup-7nlu8K9, r=Zalathar rust-lang/miri
The rollup lands `const Iterator for Range`, enabling `for i in i..n` inside `const` contexts, alongside a change to how `--jobs` affects frontend parallelism, LLVM Thin LTO for LoongArch64, and the removal of `DeepRegionResolver`. It also folds in the reexport-chain fix and the `ast::UseTreeKind` simplification listed below.
Rollup merge of #162543 - GuillaumeGomez:reexport-from-transient-crates, r=petrochenkov rust-lang/rust
`ModChild::reexport_chain` now keeps all reexports, including those reached through transient crates, resolving a long-standing name resolution bug. If your crate documents or resolves re-exported items through rustdoc and rustc, the chain it reports is now complete rather than truncated to local reexports.
Rollup merge of #156216 - Randl:const-for-impl, r=clarfonthey rust-lang/miri
The standalone merge that introduced `const Iterator for Range`, justified by the author as interesting enough to land under rust-lang/rust#155816. This is the change that makes `for i in i..n` legal in `const` blocks.
Publishing 669 rust-lang/this-week-in-rust
This Week in Rust published issue 669, with the companion events listing and refreshed CFT, FCP, MCP, and RFC sections. The newsletter also queued two new long-form pieces: "Rust generics: from Static to Dynamic dispatch" and "Operators of death: checked arithmetic in Rust".
Improve `Session`/`CodegenBackend` construction rust-lang/rust
The construction and initialization of `Session` and `CodegenBackend` are now untangled, and the state types inside codegen backends are simplified. The commit is explicitly a refactor: it changes the shapes backends are built against, not compiler output, unless you maintain an out-of-tree backend.