$ the-wire · showcase
Cargo restores 410/451 handling, rustc rollups close out the week
By RepoJournal · Filed · About Rust · Composed from the cited sources · methodology
Cargo fixes a registry regression that turned 410 and 451 responses into fatal resolution errors, while rustc lands a soundness fix for zero-length diverging-const arrays and the first slice of the new lint attribute namespace.
fix(registry): handle HTTP 410/451 for missing crates (#17665) rust-lang/cargo
Cargo's registry code stopped treating HTTP 410 and 451 as equivalent to 404 after a change in rust-lang/cargo#16745, so missing crates became fatal errors instead of candidates the resolver could skip. The fix says the regression "affects dependency resolutions" that could not backtrack past such a response.
Auto merge of #165432 - JonathanBrouwer:rollup-V0ind8A, r=JonathanBrouwer rust-lang/rust
A 7-PR rollup carries a soundness fix for compiling `[diverging_const; 0]`, alongside a rustdoc change that avoids re-doing HIR-ty-lowering of types and const args where possible and a fix to stop using `llvm_type` as the type of `static`s. The soundness fix matters most: it closes a hole in the zero-length array case.
Rollup merge of #163625 - mejrs:lint_helper_namespace-, r=estebank rust-lang/rust
`#[lint::attribute]` now parses as a tool namespace, with three rustc lint attributes ported over as proof of concept. Because it is not registered as a builtin tool, using it still requires `#![register_tool(lint)]`, and an unknown attribute inside the namespace is an error.
Auto merge of #165436 - JonathanBrouwer:rollup-sNiqmOA, r=JonathanBrouwer rust-lang/rust
The 22-PR rollup pulls together several smaller perf and behavior threads: inline attributes now apply to the generated `poll` in async fn, canonical variable kinds are reused when no new variables were added, and bound-region erasure no longer builds a region map. It also carries the OpenBSD `getexecpath()` switch for `current_exe()` and drops the `exact_div` feature gate, which had no remaini...
make fs::copy and io::copy work via fallback rust-lang/miri
Miri's `fs::copy` and `io::copy` now go through the fallback path rather than a bespoke implementation, widening what std code runs under the interpreter without hitting an unsupported-operation wall. Elsewhere on the Miri desk, a new test pins down `accept` with a null `address_ptr` against native behavior, and chmod is partially supported on Windows hosts.