What's New in Rust 1.81 through 1.84
Posted Wed, 29 Oct 2025 07:34:10 +0000Discussion on RedditJon 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 watch.
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: hello@rustacean-station.org
Timestamps & referenced resources
[@01:58] - Rust 1.81
- [@02:05] -
core::error::Error - [@08:27] - New sort implementations
- [@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
- [@16:34] -
- [@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
[@33:39] - Rust 1.82
- [@33:39] -
cargo info - [@35:06] - Apple target promotions
- [@40:10] - Precise capturing
use<..>syntax - [@47:24] - Native syntax for creating a raw pointer
- [@53:43] - Safe items with
unsafe extern - [@59:32] - Unsafe attributes
- [@1:03:44] - Omitting empty types in pattern matching
- [@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:23:03] -
- [@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::ErrorKindvariants - [@1:33:10] -
Option::get_or_insert_default - [@1:34:56] -
char::MIN
- [@1:32:06] - New
- [@1:35:48] - Changelog deep-dive
- [@1:35:48] - Unicode 16 Emoji
- [@1:39:51] - Sysroot trim-paths
- [@1:41:31] -
cargo updateinforms of outdated versions - [@1:42:43] -
cargo --timingsdark 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
- [@1:57:53] - Stabilized APIs
- [@1:57:58] -
<int>::isqrt - [@1:58:15] -
core::ptr::dangling
- [@1:57:58] -
- [@1:59:15] - Changelog deep-dive
- [@1:59:15] - Include
Cargo.lockin published crates - [@2:00:12] -
wasm32-wasitarget removed - [@2:01:06] -
&raw *invalid_ptris fine
- [@1:59:15] - Include
Credits
Intro Theme: Aerocity
Audio Editing: synchis
Hosting Infrastructure: Jon Gjengset
Show Notes: Jon Gjengset
Hosts: Jon Gjengset and Ben Striegel