Rustacean Station

What's New in Rust 1.85 through 1.87

Donnerstag, 22. Januar 2026 · 1 h 14

MP3

Shownotes

Jon and Ben discuss the highlights of the 1.85 through 1.88 releases of Rust.

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:11] - Rust 1.85 (blog.rust-lang.org/2025/02/20/Rust-1.85.0)

• [@02:05] - async closures (blog.rust-lang.org/2025/02/20/Rust-1.85.0/#asy…)

• RFC 3668 (rust-lang.github.io/rfcs/3668-async-closures.h…)

• Stabilization report (github.com/rust-lang/rust/pull/132706)

• [@07:45] - Hiding trait implementations from diagnostics (blog.rust-lang.org/2025/02/20/Rust-1.85.0/#hid…)

• [@09:43] - FromIterator and Extend for tuples (blog.rust-lang.org/2025/02/20/Rust-1.85.0/#fro…)

• [@12:10] - Updates to std::env::home_dir() (blog.rust-lang.org/2025/02/20/Rust-1.85.0/#upd…)

• Deprecation discussion (internals.rust-lang.org/t/deprecate-or-break-f…)

• Deprecation PR (github.com/rust-lang/rust/pull/51656)

• Originally abandoned fix (github.com/rust-lang/rust/pull/46799)

• Undeprecation (github.com/rust-lang/rust/pull/132515)

• [@15:19] - Stabilized APIs (blog.rust-lang.org/2025/04/03/Rust-1.86.0/#sta…)

• [@15:30] - number::midpoint (doc.rust-lang.org/std/primitive.u64.html#metho…)

• [@16:18] - Waker::noop (doc.rust-lang.org/stable/std/task/struct.Waker…)

• [@17:49] - ptr::fn_addr_eq (doc.rust-lang.org/std/ptr/fn.fn_addr_eq.html)

• [@20:10] - Changelog deep-dive

• [@20:10] - De-duplicate and improve definition of c_char (github.com/rust-lang/rust/pull/132975)

• [@22:56] - More constification

• [@23:51] - Rust 1.85.1 (blog.rust-lang.org/2025/03/18/Rust-1.85.1)

[@24:46] - Rust 1.86 (blog.rust-lang.org/2025/04/03/Rust-1.86.0)

• [@25:24] - Trait upcasting (blog.rust-lang.org/2025/04/03/Rust-1.86.0/#tra…)

• [@30:49] - HashMaps and slices now support indexing multiple elements mutably (blog.rust-lang.org/2025/04/03/Rust-1.86.0/#has…)

• [@33:50] - Allow safe functions to be marked with the #[target_feature] attribute (blog.rust-lang.org/2025/04/03/Rust-1.86.0/#all…)

• [@36:21] - Debug assertions that pointers are non-null when required for soundness (blog.rust-lang.org/2025/04/03/Rust-1.86.0/#deb…)

• [@39:48] - Make missing_abi lint warn by default (blog.rust-lang.org/2025/04/03/Rust-1.86.0/#mak…)

• [@40:55] - Target deprecation warning for 1.87.0 (blog.rust-lang.org/2025/04/03/Rust-1.86.0/#tar…)

• [@42:25] - Stabilized APIs (blog.rust-lang.org/2025/04/03/Rust-1.86.0/#sta…)

• [@42:25] - {float}::next_up (doc.rust-lang.org/stable/std/primitive.f64.htm…)

• [@44:55] - Vec::pop_if (doc.rust-lang.org/std/vec/struct.Vec.html#meth…)

• [@46:41] - Changelog deep-dive

• [@46:41] - Changing -O to opt-level=3 (github.com/rust-lang/compiler-team/issues/828)

• [@47:47] - Optimized rustc binaries for aarch64 (github.com/rust-lang/rust/pull/133807)

• [@49:04] - Deprecate cargo --token (github.com/rust-lang/cargo/pull/15057)

• [@49:43] - No more “did you mean” in Cargo (github.com/rust-lang/cargo/pull/15138)

• [@50:14] - Sans-serif in rustdoc (github.com/rust-lang/rust/pull/133636)

[@50:45] - Rust 1.87 (blog.rust-lang.org/2025/05/15/Rust-1.87.0)

• [@51:27] - Anonymous pipes (blog.rust-lang.org/2025/05/15/Rust-1.87.0/#ano…)

• [@53:06] - Safe architecture intrinsics (blog.rust-lang.org/2025/05/15/Rust-1.87.0/#saf…)

• Update the standard library to Rust 2024 (github.com/rust-lang/rust/pull/138162)

• [@55:00] - asm! jumps to Rust code (blog.rust-lang.org/2025/05/15/Rust-1.87.0/#asm…)

• [@57:06] - Precise capturing in impl Trait in trait definitions (blog.rust-lang.org/2025/05/15/Rust-1.87.0/#pre…)

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

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

• [@58:45] - Stabilized APIs (blog.rust-lang.org/2025/05/15/Rust-1.87.0/#sta…)

• [@58:45] - Vec::extract_if (doc.rust-lang.org/stable/std/vec/struct.Vec.ht…)

• [@1:00:13] - <[T]>::split_off (doc.rust-lang.org/stable/std/primitive.slice.h…)

• [@1:01:47] - OsStr::display (doc.rust-lang.org/stable/std/ffi/struct.OsStr.…)

• [@1:03:40] - <uN>::cast_signed (doc.rust-lang.org/stable/std/primitive.usize.h…)

• [@1:04:41] - <uN>::is_multiple_of (doc.rust-lang.org/stable/std/primitive.usize.h…)

• [@1:05:31] - <uN>::unbounded_shl (doc.rust-lang.org/stable/std/primitive.usize.h…)

• [@1:06:20] - TryFrom<Vec<u8>> for String (doc.rust-lang.org/stable/std/string/struct.Str…)

• [@1:06:46] - Box<MaybeUninit<T>>::write (doc.rust-lang.org/stable/std/boxed/struct.Box.…)

• [@1:08:23] - String::extend_from_within (doc.rust-lang.org/stable/alloc/string/struct.S…)

• [@1:07:46] - Changelog deep-dive

• [@1:07:46] - Actually un-deprecate home_dir (github.com/rust-lang/rust/pull/137327)

• [@1:10:41] - Cargo SBOM support (RFC 3553) (github.com/rust-lang/cargo/pull/13709)

• [@1:11:48] - More Cargo ANSI sequences (github.com/rust-lang/cargo/pull/14615)

Credits

Intro Theme: twitter.com/AerocityMusic

Audio Editing: synchis (bsky.app/profile/did:plc:b5oneeierz2iocpjh2t5s…)

Hosting Infrastructure: Jon Gjengset (thesquareplanet.com)

Show Notes: Jon Gjengset (thesquareplanet.com)

Hosts: Jon Gjengset and Ben Striegel

0:00 / 0:00