Rustacean Station

What's New in Rust 1.81 through 1.84

Mittwoch, 29. Oktober 2025 · 2 h 03

MP3

Shownotes

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
watch (youtube.com/live/6mwVWmKONY0).

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 (twitter.com/rustaceanfm)

• Discord: Rustacean Station (discord.gg/cHc3Gyc)

• Github: @rustacean-station (github.com/rustacean-station)

• Email: hello@rustacean-station.org

Timestamps & referenced resources

[@01:58] - Rust 1.81 (blog.rust-lang.org/2024/09/05/Rust-1.81.0)

• [@02:05] - core::error::Error (blog.rust-lang.org/2024/09/05/Rust-1.81.0/#cor…)

• Tracking issue for generic member access (github.com/rust-lang/rust/issues/99301)

• build-std Rust project goal (rust-lang.github.io/rust-project-goals/2025h1/…)

• [@08:27] - New sort implementations (blog.rust-lang.org/2024/09/05/Rust-1.81.0/#new…)

• PR implementing the change (github.com/rust-lang/rust/pull/124032)

• Repo with the research (github.com/Voultapher/sort-research-rs)

• [@10:49] - #[expect(lint)] (blog.rust-lang.org/2024/09/05/Rust-1.81.0/#exp…)

• [@14:37] - Lint reasons (blog.rust-lang.org/2024/09/05/Rust-1.81.0/#lin…)

• [@16:18] - Stabilized APIs (blog.rust-lang.org/2024/09/05/Rust-1.81.0/#sta…)

• [@16:34] - Duration::abs_diff (doc.rust-lang.org/stable/core/time/struct.Dura…)

• [@17:25] - hint::assert_unchecked (doc.rust-lang.org/stable/core/hint/fn.assert_u…)

• [@22:36] - fs::exists (doc.rust-lang.org/stable/std/fs/fn.exists.html)

• [@25:37] - Compatibility notes (blog.rust-lang.org/2024/09/05/Rust-1.81.0/#com…)

• [@20:40] - Split panic hook and panic handler arguments (blog.rust-lang.org/2024/09/05/Rust-1.81.0/#spl…)

• [@23:00] - Abort on uncaught panics in extern "C" functions (blog.rust-lang.org/2024/09/05/Rust-1.81.0/#abo…)

• [@27:01] - WASI 0.1 target naming changed (blog.rust-lang.org/2024/09/05/Rust-1.81.0/#was…)

• [@30:10] - Fix for CVE-2024-43402 (blog.rust-lang.org/2024/09/05/Rust-1.81.0/#fix…)

• CVE announcement (blog.rust-lang.org/2024/09/04/cve-2024-43402.h…)

[@33:39] - Rust 1.82 (blog.rust-lang.org/2024/10/17/Rust-1.82.0)

• [@33:39] - cargo info (blog.rust-lang.org/2024/10/17/Rust-1.82.0/#car…)

• [@35:06] - Apple target promotions (blog.rust-lang.org/2024/10/17/Rust-1.82.0/#app…)

• Platform support tiers (doc.rust-lang.org/stable/rustc/platform-suppor…)

• [@40:10] - Precise capturing use<..> syntax (blog.rust-lang.org/2024/10/17/Rust-1.82.0/#pre…)

• The Captures “trick” (github.com/rust-lang/rfcs/blob/master/text/349…)

• Talk on impl Trait (youtube.com/watch?v=CWiz_RtA1Hw)

• [@47:24] - Native syntax for creating a raw pointer (blog.rust-lang.org/2024/10/17/Rust-1.82.0/#nat…)

• Pointers Are Complicated (ralfj.de/blog/2018/07/24/pointers-and-bytes.html)

• Pointers Are Complicated II (ralfj.de/blog/2020/12/14/provenance.html)

• Pointers Are Complicated III (ralfj.de/blog/2022/04/11/provenance-exposed.html)

• [@53:43] - Safe items with unsafe extern (blog.rust-lang.org/2024/10/17/Rust-1.82.0/#saf…)

• [@59:32] - Unsafe attributes (blog.rust-lang.org/2024/10/17/Rust-1.82.0/#uns…)

• [@1:03:44] - Omitting empty types in pattern matching (blog.rust-lang.org/2024/10/17/Rust-1.82.0/#omi…)

• The never type (doc.rust-lang.org/std/primitive.never.html)

• [@1:11:33] - Floating-point NaN semantics and const (blog.rust-lang.org/2024/10/17/Rust-1.82.0/#flo…)

• [@1:17:41] - Constants as assembly immediates (blog.rust-lang.org/2024/10/17/Rust-1.82.0/#con…)

• [@1:19:06] - Safely addressing unsafe statics (blog.rust-lang.org/2024/10/17/Rust-1.82.0/#saf…)

• [@1:22:56] - Stabilized APIs (blog.rust-lang.org/2024/10/17/Rust-1.82.0/#sta…)

• [@1:23:03] - thread::Builder::spawn_unchecked (doc.rust-lang.org/stable/std/thread/struct.Bui…)

• [@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 (github.com/rust-lang/rust/pull/128254)

[@1:27:30] - Rust 1.83 (blog.rust-lang.org/2024/11/28/Rust-1.83.0)

• [@1:27:55] - New const capabilities (blog.rust-lang.org/2024/11/28/Rust-1.83.0/#new…)

• [@1:31:50] - Stabilized APIs (blog.rust-lang.org/2024/11/28/Rust-1.83.0/#sta…)

• [@1:32:06] - New io::ErrorKind variants (doc.rust-lang.org/stable/std/io/enum.ErrorKind…)

• [@1:33:10] - Option::get_or_insert_default (doc.rust-lang.org/stable/core/option/enum.Opti…)

• [@1:34:56] - char::MIN (doc.rust-lang.org/stable/core/primitive.char.h…)

• [@1:35:48] - Changelog deep-dive

• [@1:35:48] - Unicode 16 Emoji (unicode.org/emoji/charts-16.0/emoji-released.h…)

• [@1:39:51] - Sysroot trim-paths (github.com/rust-lang/rust/pull/129687)

• [@1:41:31] - cargo update informs of outdated versions (doc.rust-lang.org/nightly/cargo/CHANGELOG.html…)

• [@1:42:43] - cargo --timings dark mode (github.com/rust-lang/cargo/pull/14588)

• [@1:43:15] - Checksum-based freshness in Cargo nightly (github.com/rust-lang/cargo/pull/14137)

[@1:44:26] - Rust 1.84 (blog.rust-lang.org/2025/01/09/Rust-1.84.0)

• [@1:44:40] - Cargo considers Rust version for dependency version selection (blog.rust-lang.org/2025/01/09/Rust-1.84.0/#car…)

• [@1:49:03] - Migration to the new trait solver begins (blog.rust-lang.org/2025/01/09/Rust-1.84.0/#mig…)

• [@1:51:47] - Strict provenance APIs (blog.rust-lang.org/2025/01/09/Rust-1.84.0/#str…)

• Pointers Are Complicated (ralfj.de/blog/2018/07/24/pointers-and-bytes.html)

• Pointers Are Complicated II (ralfj.de/blog/2020/12/14/provenance.html)

• Pointers Are Complicated III (ralfj.de/blog/2022/04/11/provenance-exposed.html)

• Rust has provenance (rust-lang.github.io/rfcs/3559-rust-has-provena…)

• Gankra’s write-up on raw pointer design (faultlore.com/blah/fix-rust-pointers)

• Strict provenance APIs tracking issue (github.com/rust-lang/rust/issues/95228)

• [@1:57:53] - Stabilized APIs (blog.rust-lang.org/2025/01/09/Rust-1.84.0/#sta…)

• [@1:57:58] - <int>::isqrt (doc.rust-lang.org/stable/core/primitive.i32.ht…)

• [@1:58:15] - core::ptr::dangling (doc.rust-lang.org/stable/core/ptr/fn.dangling.…)

• [@1:59:15] - Changelog deep-dive

• [@1:59:15] - Include Cargo.lock in published crates (github.com/rust-lang/rust/pull/129248)

• [@2:00:12] - wasm32-wasi target removed (github.com/rust-lang/rust/releases/tag/1.84.0#…)

• [@2:01:06] - &raw *invalid_ptr is fine …

0:00 / 0:00