What's New in Rust 1.79 and 1.80
Posted Sat, 10 May 2025 08:09:10 +0000Jon and Ben discuss the highlights of the 1.79 and 1.80 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
- Discord: Rustacean Station
- Github: @rustacean-station
- Email: [email protected]
Timestamps & referenced resources
[@01:02] - Rust 1.79
- [@01:02] - Inline const expressions
- [@08:33] - Bounds in associated type position
- [@14:11] - Extending automatic temporary lifetime extension
- [@21:55] - Frame pointers enabled in standard library builds
- [@25:37] - Stabilized APIs
- [@25:37] -
{integer}::unchecked_add
- [@27:39] -
<*const [T]>::len
- [@29:21] -
<[u8]>::utf8_chunks
- [@31:21] -
CStr::count_bytes
- [@32:41] -
num::NonZero<T>
- [@36:30] -
io::Error::downcast
- [@36:50] -
path::absolute
- [@25:37] -
- [@38:18] - Changelog deep-dive
- [@38:31] - Stabilize WASM target features that are in phase 4 and 5
- [@39:15] - Document overrides of
clone_from()
in core/std - [@41:46] - Switch to using gitoxide by default for listing files in cargo
- [@43:03] - Stabilize lint unnameable_types
- [@44:46] -
manual_clamp
lint
[@45:46] - Rust 1.80
- [@46:09] -
LazyCell
andLazyLock
- [@53:42] - Checked
cfg
names and values - [@56:41] - Exclusive ranges in patterns
- [@58:52] - Stabilized APIs
- [@59:05] -
Vec::<[T; N]>::into_flattened
- [@1:00:31] -
<[u8]>::trim_ascii
- [@1:02:06] -
NonNull::add
and otherptr
-like methods - [@1:03:41] -
impl IntoIterator for Box<[T]>
- [@1:05:46] -
Option::take_if
- [@1:07:30] -
Ipv4Addr::to_bits
- [@59:05] -
- [@1:09:10] - Changelog deep-dive
- [@1:09:25] -
x86_64-unknown-linux-none
- [@1:11:07] - Add
size_of
andalign_of
to the prelude - [@1:12:34] - Never type fallback flowing into unsafe
- [@1:17:29] - New panics and aborts in the standard library
- [@1:20:28] - Restore enum variants in rustdoc for type aliases
- [@1:21:12] - Change
assigning_clones
lint topedantic
- [@1:22:15] - Turn lints into hard errors
- [@1:22:49] -
env::set_var
regression - [@1:24:34] -
StdoutLock
regression
- [@1:09:25] -
[@1:26:00] - Rust 1.80.1
Fixes miscompilation when comparing
floats
and false positives in the dead_code
lint.
Credits
Intro Theme: Aerocity
Audio Editing: Jon Gjengset
Hosting Infrastructure: Jon Gjengset
Show Notes: Jon Gjengset
Hosts: Jon Gjengset and Ben Striegel