$ the-wire · showcase
Miri gains dirfd support, crates.io adds session epochs
By RepoJournal · Filed · About Rust · Composed from the cited sources · methodology
The day's work is compiler-internals plumbing: Miri's new dirfd handling lets the standard library drop special cases, span context limits roughly double, and crates.io gets an admin lever to invalidate logged-in sessions.
Rollup merge of #163010 - RalfJung:unix-dir-entry, r=Mark-Simulacrum rust-lang/rust
RalfJung's change removes standard-library special-casing for Unix directory entries now that Miri can do dirfd, fixing miri#5327. It landed as a rollup merge into rust-lang/rust, so the interpreter and the std code it exercises no longer diverge on that path.
Rollup merge of #163587 - nnethercote:small-span-improvements, r=petrochenkov rust-lang/rust
MAX_CTXT moves from 0b0111_1111_1111_1110 to 0b1111_1111_1111_1110, about 15 bits to about 16, since it only needs to stay distinguishable from CTXT_INTERNED_MARKER. The old limit is rarely hit, but nnethercote reports a 1 to 2 percent instruction-count reduction when building the uom crate, which carries 39k contexts.
Add epochs to user session cookies rust-lang/crates.io
crates.io session cookies now carry an epoch: a cookie older than the user's epoch is ignored and the user is effectively logged out. An admin can force-invalidate every existing session for a user by incrementing users.session_epoch, with an ops guide promised if the PR merges.
Rollup of 8 pull requests rust-lang/rust
An eight-PR rollup includes declaring C and C-unwind mutually ABI-compatible, unstably constifying core's abort_immediate, adding Tier 3 targets for Hyperlight guests, and a rustdoc fix for where-clause placement on free const items and checked type aliases.
svelte: Replace `$lib` imports with `#lib` subpath imports rust-lang/crates.io
crates.io's SvelteKit front end replaces $lib imports with #lib subpath imports ahead of the SvelteKit v3 upgrade, which Turbo87 says shrinks the diff of the upgrade itself. The equivalent config move into vite.config.ts is already in as a separate PR.