What's New in Rust 1.79 and 1.80
Update: 2025-05-10
Description
Jon 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: hello@rustacean-station.org
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
Comments
In Channel