$ the-wire · showcase
MIR move elimination takes its second step, 1.99.0 release notes land
By RepoJournal · Filed · About Rust · Composed from the cited sources · methodology
The compiler's copy-elimination work advances, Rust 1.99.0's release notes are drafted, and libc tightens its FD_* panic messages on Linux.
MIR move elimination [2/6]: TailCopyToMove rust-lang/rust
Amanieu's TailCopyToMove pre-pass turns `Copy` into `Move` just before a `Return` terminator, which is valid even for borrowed places since the return invalidates borrows anyway. It is part 2 of 6 of the `MoveElimination` pass from RFC 3943, and it exists so the copy source can be unified with the return place; it depends on the preceding PR in the series.
add relnotes 1.99.0 rust-lang/rust
The 1.99.0 release notes are now in the tree. This is the draft the release team works from, so expect the final text to be trimmed before the version ships.
linux: Improve panic message for out-of-range fds in FD_* functions rust-lang/libc
libc's `FD_SET`, `FD_CLR`, and `FD_ISSET` now produce a clearer panic when an out-of-range fd is passed on Linux (linux_like), fixing the out-of-bounds panic under rust-lang/libc#1401. `FD_ZERO` is untouched because it takes no fd, and the same treatment for cygwin, haiku, and solaris is left as follow-up.
Fix CI for FreeBSD 15.1 and 16.0-CURRENT rust-lang/libc
FreeBSD 16 is now tested identically to 15, since the crate carries no separate definitions for the two versions, and several kernel-only bitmask constants were dropped from the FreeBSD bindings. Those masks are meant for kernel use and new features can widen them, so their values were never stable.
unix, apple: Switch uses of `s!` to `s2!` rust-lang/libc
The unix and Apple structs built with `s!` moved to `s2!`, which is what gives those structs their `Default` impls. tgross35 also simplified the macro patterns themselves, adding commas to look more like struct syntax and dropping the braces around literals, and accepted `#[unsafe(union_default_via_zeroed)]` in `s_no_extra_traits2!` alongside the two subtree syncs of `miri` and `rustc_codegen_c...