RepoJournal

$ cat rust-lang/month/2026-10-01.log

Rust

Rust

the month in review · October 2026

Rust 1.99.0 lands with new raw-borrow lint

By RepoJournal · composed from the cited sources · human-reviewed weekly · methodology

♥

cc-rs shipped twice (1.7.0 and 1.9.0), Miri gained FreeBSD CI and dirfd support, and PartialOrd's chaining methods were removed.

3050 commits 750 PRs merged 14 releases 31 briefings covered

all rust-lang reviews →

Rust 1.99.0 rust-lang/rust

by rustbot

The release notes add an allow-by-default raw_borrows_via_references lint for references that decay immediately into raw borrows, and extend unconditional_panic to function calls that panic when the chunks they operate on are empty. Neither fires unless you enable it or your code already matches the pattern, so treat 1.99.0 as a compile-and-check bump rather than a rewrite.

cc-v1.7.0 rust-lang/cc-rs

by github-actions[bot]

cc-rs 1.7.0 adds Tool::get_envs, deprecates Tool::env, and stores tool env as Arc<OsStr> pairs; it also links c++ when Clang uses libc++ and adds CC_MASM_ASM with an llvm-ml fallback for MASM. Build scripts that read tool env directly through the deprecated accessor should move to the new one.

cc-v1.9.0 rust-lang/cc-rs

by github-actions[bot]

1.9.0 passes AddressSanitizer settings through to the C compiler and fixes flag ordering, plus emits rerun-if-env-changed for the compiler's own environment variables. The latter means more rebuilds when you touch those vars, which is the point: stale C objects after an env change stop being silent.

Add epochs to user session cookies rust-lang/crates.io

by LawnGnome

Session cookies now carry an epoch, and a cookie older than the epoch on the user record is ignored, effectively logging that user out. The mechanism exists so an admin can invalidate all existing sessions for a user; for everyone else it is invisible until it is not.

MIR move elimination [2/6]: TailCopyToMove rust-lang/rust

by Amanieu

The second of six steps toward the MoveElimination pass from RFC 3943 adds a TailCopyToMove pre-pass that converts Copy to Move just before a Return terminator. The PR argues this is valid even for borrowed places because the return copies out; it is a compiler-internal change, but it is the groundwork for the optimization work you will see in later cycles.

Add native FreeBSD runner to CI rust-lang/miri

by WhySoBad

Miri's CI now runs its test suite on a native FreeBSD runner via the vmactions/freebsd-vm action, to catch differences between Miri's model and the real FreeBSD implementation. Combined with the dirfd work merged into the standard library, the interpreter's Unix coverage is being closed piece by piece.

Rollup merge of #163010 - RalfJung:unix-dir-entry, r=Mark-Simulacrum rust-lang/rust

by Jonathan Brouwer

Because Miri can now handle dirfd, the standard library drops some of its special-casing, which the rollup describes as removing workarounds. If you test std code under Miri, the surface it can actually execute grew.

linux: Improve panic message for out-of-range fds in FD_* functions rust-lang/libc

by danielcanencia

FD_SET, FD_CLR and FD_ISSET on Linux now panic with a clear message when the fd is out of range instead of an opaque out-of-bounds failure; FD_ZERO is untouched. The same treatment for cygwin, haiku and solaris is explicitly a follow-up, so those platforms behave as before.

$ ls rust-lang/month/ # the briefings behind this review

Thu Oct 1 MIR move elimination takes its second step, 1.99.0 release notes land Fri Oct 2 Rust 1.99.0 lands, Miri picks up FreeBSD CI and simpler Span plumbing Sat Oct 3 Miri gains dirfd support, crates.io adds session epochs Sun Oct 4 rustfmt subtree lands for the 1.101 cycle Mon Oct 5 rust-analyzer kills a false `Sized` diagnostic, rust removes old solver coherence Tue Oct 6 Cargo stabilizes profile.trim-paths, rustc pulls back a report-in-deps lint Wed Oct 7 rustfmt syncs wrap_comments, rust-analyzer stops phantom unsafe errors Thu Oct 8 Next-solver test migration continues across the compiler tree Fri Oct 9 miri's 19-PR rollup lands repr(C) ZST ABI fix, stack-protector denial Sat Oct 10 cc-rs 1.7.0 ships, rustfmt makes bare required_version a caret Sun Oct 11 cc-rs stops forwarding profile flags, miri gains utimensat Mon Oct 12 rust-analyzer picks up a divergent-let fix; four crates move to trusted publishing Tue Oct 13 crates.io unifies API error handling, rustdoc fixes doctest temp cleanup Wed Oct 14 rust-lang/team cuts GitHub API calls to escape rate limits Thu Oct 15 crates.io drops Sentry, Miri trims re-exports Fri Oct 16 MSVC archive paths fixed, wasm CI moves to wasip3 Sat Oct 17 flate2 fixes truncation, panic, and a 30x decompression regression Sun Oct 18 File handles always need drop, and std::fs drops its platform caveat Mon Oct 19 Miri learns semaphores and more AVX shims Tue Oct 20 cc-rs 1.9.0 passes AddressSanitizer to C, and fixes flag ordering Wed Oct 21 Miri migrates shim signature checks, docs.rs updates webpki roots Thu Oct 22 PartialOrd chaining methods removed, rust-analyzer lockfile fix Fri Oct 23 Miri gains a first-class Priroda test target, rustfmt and LLVM bump in tree Sat Oct 24 Cranelift 0.137 fixes a Windows ABI bug, and Miri grows a UDP shim Sun Oct 25 Rust adapts IR builder to LLVM 24 deprecations Mon Oct 26 A 20-PR rollup lands, including reborrow ICE fixes and rustdoc reexport handling Tue Oct 27 Rust removes At::sub, rustup pins its CI actions Wed Oct 28 crates.io rejects NUL bytes in publish, rustup stops proxying to itself Thu Oct 29 Miri reshapes C array handling, rustc-demangle renames splat Fri Oct 30 Edition migration lint lands unstably, codegen_ssa sheds TypeKind Sat Oct 31 git2-rs deprecates libgit2's deprecated names

Keep up with Rust in about 3 minutes: what actually shipped — the commits, pull requests, releases, and security advisories that matter.

or

fair warning: these emails are deeply technical. diffs, version numbers, CVEs, benchmark deltas. if that's not your idea of a good read, this isn't your newsletter.

Folds into your digest — weekly by default, monthly if you prefer. Unsubscribe in one click.

all rust-lang reviews →