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: [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
Mara’s blog post on temporary lifetimes
[@21:55] - Frame pointers enabled in standard library builds
Does omitting the frame pointer really affect performance?
[@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
[@36:30] - io::Error::downcast
[@36:50] - path::absolute
[@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 and LazyLock
[@53:42] - Checked cfg names and values
Detailed blog post on checked cfg
[@56:41] - Exclusive ranges in patterns
[@58:52] - Stabilized APIs
[@59:05] - Vec::<[T; N]>::into_flattened
<[[T; N]]>::as_flattened
[@1:00:31] - <[u8]>::trim_ascii
[@1:02:06] - NonNull::add and other ptr-like methods
[@1:03:41] - impl IntoIterator for Box<[T]>
[@1:05:46] - Option::take_if
[@1:07:30] - Ipv4Addr::to_bits
[@1:09:10] - Changelog deep-dive
[@1:09:25] - x86_64-unknown-linux-none
[@1:11:07] - Add size_of and align_of to the prelude
[@1:12:34] - Never type fallback flowing into unsafe
[@1:17:29] - New panics and aborts in the standard library
Abort when OwnedFd is violated
Panic if set_extension adds /
[@1:20:28] - Restore enum variants in rustdoc for type aliases
[@1:21:12] - Change assigning_clones lint to pedantic
[@1:22:15] - Turn lints into hard errors
[@1:22:49] - env::set_var regression
[@1:24:34] - StdoutLock regression
[@1:26:00] - Rust 1.80.1
Fixes miscompilation when comparing
floats
and false positives in the dead_code
Credits
Audio Editing: Jon Gjengset
Hosting Infrastructure: Jon Gjengset
Hosts: Jon Gjengset and Ben Striegel