Jon and Ben discuss the highlights of the 1.81 through 1.84 releases of Rust.
This episode was recorded as part of a YouTube live stream on
2025-10-26, which you can still
Contributing to Rustacean Station
Rustacean Station is a community project; get in touch with us if you’d like to suggest an idea for an episode or offer your services as a host or audio editor!
Twitter: @rustaceanfm
Discord: Rustacean Station
Github: @rustacean-station
Email: [email protected]Timestamps & referenced resources
[@01:58] - Rust 1.81
[@02:05] - core::error::Error
Tracking issue for generic member access
build-std Rust project goal
[@08:27] - New sort implementations
PR implementing the change
Repo with the research
[@10:49] - #[expect(lint)]
[@14:37] - Lint reasons
[@16:18] - Stabilized APIs
[@16:34] - Duration::abs_diff
[@17:25] - hint::assert_unchecked
[@22:36] - fs::exists
[@25:37] - Compatibility notes
[@20:40] - Split panic hook and panic handler arguments
[@23:00] - Abort on uncaught panics in extern "C" functions
[@27:01] - WASI 0.1 target naming changed
[@30:10] - Fix for CVE-2024-43402
CVE announcement
[@33:39] - Rust 1.82
[@33:39] - cargo info
[@35:06] - Apple target promotions
Platform support tiers
[@40:10] - Precise capturing use<..> syntax
The Captures “trick”
Talk on impl Trait
[@47:24] - Native syntax for creating a raw pointer
Pointers Are Complicated
Pointers Are Complicated II
Pointers Are Complicated III
[@53:43] - Safe items with unsafe extern
[@59:32] - Unsafe attributes
[@1:03:44] - Omitting empty types in pattern matching
The never type
[@1:11:33] - Floating-point NaN semantics and const
[@1:17:41] - Constants as assembly immediates
[@1:19:06] - Safely addressing unsafe statics
[@1:22:56] - Stabilized APIs
[@1:23:03] - thread::Builder::spawn_unchecked
[@1:25:10] - Working with MaybeUninit
[@1:25:48] - Exposed SIMD intrinsics
[@1:26:14] - Changelog deep-dive
[@1:26:26] - Rewrite binary search implementation
[@1:27:30] - Rust 1.83
[@1:27:55] - New const capabilities
[@1:31:50] - Stabilized APIs
[@1:32:06] - New io::ErrorKind variants
[@1:33:10] - Option::get_or_insert_default
[@1:34:56] - char::MIN
[@1:35:48] - Changelog deep-dive
[@1:35:48] - Unicode 16 Emoji
[@1:39:51] - Sysroot trim-paths
[@1:41:31] - cargo update informs of outdated versions
[@1:42:43] - cargo --timings dark mode
[@1:43:15] - Checksum-based freshness in Cargo nightly
[@1:44:26] - Rust 1.84
[@1:44:40] - Cargo considers Rust version for dependency version selection
[@1:49:03] - Migration to the new trait solver begins
[@1:51:47] - Strict provenance APIs
Pointers Are Complicated
Pointers Are Complicated II
Pointers Are Complicated III
Rust has provenance
Gankra’s write-up on raw pointer design
Strict provenance APIs tracking issue
[@1:57:53] - Stabilized APIs
[@1:57:58] - ::isqrt
[@1:58:15] - core::ptr::dangling
[@1:59:15] - Changelog deep-dive
[@1:59:15] - Include Cargo.lock in published crates
[@2:00:12] - wasm32-wasi target removed
[@2:01:06] - &raw *invalid_ptr is fine
Credits
Hosting Infrastructure: Jon Gjengset
Hosts: Jon Gjengset and Ben Striegel