
Rustacean Station What's New in Rust 1.85 through 1.87
4 snips
Jan 22, 2026 A fast tour of Rust 1.85–1.87 highlights. They cover async closures, trait object upcasting, and hiding trait implementations from diagnostics. Tuple FromIterator, undeprecating std::env::home_dir, and small stabilized APIs get attention. New capabilities include disjoint mutable indexing, anonymous pipes, asm! jumps to Rust code, safe architecture intrinsics, and several stdlib convenience methods.
AI Snips
Chapters
Transcript
Episode notes
Waker::noop For Simple Future Contexts
- Waker::noop provides a non-allocating no-op waker for contexts where a future won't be woken, simplifying manual Future implementations.
- Jon Gjengset highlights it avoids unsafe vtable work or Arc-based wakers for simple cases like single-run futures.
c_char Simplified To i8 Except Windows And Apple
- Rust simplified the definition of c_char: defaults to i8 except on Windows and Apple, matching clang and reducing per-target tables.
- Jon Gjengset explains this avoids brittle platform-specific tables and follows Clang's convention for new targets.
Safe Trait Upcasting Between Subtraits And Supertraits
- Trait upcasting allows converting a trait object of a subtrait into a trait object of its supertrait safely and without unsafe code.
- Jon Gjengset notes vtable layout guarantees let the compiler construct the supertrait vtable from the subtrait object for valid upcasts.
