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: @rustaceanfmDiscord: Rustacean StationGithub: @rustacean-stationTimestamps & 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 extensionMara’s blog post on temporary lifetimes[@21:55] - Frame pointers enabled in standard library buildsDoes 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 valuesDetailed 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 libraryAbort when OwnedFd is violatedPanic 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