54 min listen
What's New in Rust 1.65, 1.66, and 1.67
ratings:
Length:
86 minutes
Released:
Feb 13, 2023
Format:
Podcast episode
Description
Jon and Ben discuss the highlights of the 1.65, 1.66, and 1.67 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:11] - Rust 1.65
[@01:28] - Generic Associated Types
More detailed blog post
[@06:48] - let-else statements
if_chain crate
[@16:56] - break from labeled blocks
[@19:21] - Splitting Linux debuginfo
[@20:44] - Stabilized APIs
std::backtrace::Backtrace
[@22:41] - RLS deprecation
[@23:19] - Changelog deep-dive
[@23:30] - Cargo queue reordering
Benchmarking results
[@24:54] - Niches in data-filled enums
[@27:23] - poll_fn and Unpin
[@28:05] - Too many personalities
[@29:20] - uninit integers are UB
Working Group discussion
[@33:23] - Uplift let_underscore lint
[@35:13] - #[non_exhaustive] on enum variants
[@36:27] - Rust 1.66.0
[@36:40] - Explicit discriminants on enums with fields
Dark and forbidden secrets
RFC
[@40:05] - core::hint::black_box
Tracking issue discussion
[@46:34] - cargo remove
[@46:52] - Stabilized APIs
Mixed integer operations
BTreeMap/Set first/last operations
std::os::fd
[@50:51] - Changelog deep-dive
[@51:10] - Cargo publish changes
[@53:33] - Don’t link to libresolv or libiconv on Darwin
[@54:41] - sym in asm
[@55:18] - Soundness fix for impl Trait
[@57:27] - Allow transmutes across lifetimes
[@57:45] - Unicode 15
[@58:24] - for loops over Option and Result
[@1:00:38] - Rust 1.66.1
Security advisory.
Affects primarily users with insteadOf in their git config. Prefer
pushInsteadOf
instead.
You may also be interested in:
Rustup 1.25.2
[@1:02:41] - Rust 1.67
[@1:02:45] - #[must_use] on async fn
[@1:04:07] - sync::mpsc updated
Long-standing mpsc panic
The PR
crossbeam crate
CachePadded
AtomicCell
[@1:07:52] - Stabilized APIs
NonZero*::BITS
[@1:08:38] - Changelog deep-dive
[@1:08:45] - Ratio-aware decompression limit
Original CVE
Original fix
[@1:10:40] - Ordering of array fields
[@1:13:08] - Compilation targets
Sony PlayStation 1 target
Remove linuxkernel targets
Target configuration
x86_64-unknown-none
[@1:14:45] - Dataflow-based MIR constant propagation
[@1:15:37] - The drop order twist
The effect on let-chains
let-chains tracking issue
[@1:20:48] - Inconsistent rounding of 0.5
[@1:23:24] - Android NDK update in 1.68
[@1:23:54] - Help test cargo’s HTTP protocol
Credits
Intro Theme: Aerocity
Audio Editing: Aerocity
Hosting Infrastructure: Jon Gjengset
Show Notes: Jon Gjengset
Hosts: Jon Gjengset and Ben Striegel
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:11] - Rust 1.65
[@01:28] - Generic Associated Types
More detailed blog post
[@06:48] - let-else statements
if_chain crate
[@16:56] - break from labeled blocks
[@19:21] - Splitting Linux debuginfo
[@20:44] - Stabilized APIs
std::backtrace::Backtrace
[@22:41] - RLS deprecation
[@23:19] - Changelog deep-dive
[@23:30] - Cargo queue reordering
Benchmarking results
[@24:54] - Niches in data-filled enums
[@27:23] - poll_fn and Unpin
[@28:05] - Too many personalities
[@29:20] - uninit integers are UB
Working Group discussion
[@33:23] - Uplift let_underscore lint
[@35:13] - #[non_exhaustive] on enum variants
[@36:27] - Rust 1.66.0
[@36:40] - Explicit discriminants on enums with fields
Dark and forbidden secrets
RFC
[@40:05] - core::hint::black_box
Tracking issue discussion
[@46:34] - cargo remove
[@46:52] - Stabilized APIs
Mixed integer operations
BTreeMap/Set first/last operations
std::os::fd
[@50:51] - Changelog deep-dive
[@51:10] - Cargo publish changes
[@53:33] - Don’t link to libresolv or libiconv on Darwin
[@54:41] - sym in asm
[@55:18] - Soundness fix for impl Trait
[@57:27] - Allow transmutes across lifetimes
[@57:45] - Unicode 15
[@58:24] - for loops over Option and Result
[@1:00:38] - Rust 1.66.1
Security advisory.
Affects primarily users with insteadOf in their git config. Prefer
pushInsteadOf
instead.
You may also be interested in:
Rustup 1.25.2
[@1:02:41] - Rust 1.67
[@1:02:45] - #[must_use] on async fn
[@1:04:07] - sync::mpsc updated
Long-standing mpsc panic
The PR
crossbeam crate
CachePadded
AtomicCell
[@1:07:52] - Stabilized APIs
NonZero*::BITS
[@1:08:38] - Changelog deep-dive
[@1:08:45] - Ratio-aware decompression limit
Original CVE
Original fix
[@1:10:40] - Ordering of array fields
[@1:13:08] - Compilation targets
Sony PlayStation 1 target
Remove linuxkernel targets
Target configuration
x86_64-unknown-none
[@1:14:45] - Dataflow-based MIR constant propagation
[@1:15:37] - The drop order twist
The effect on let-chains
let-chains tracking issue
[@1:20:48] - Inconsistent rounding of 0.5
[@1:23:24] - Android NDK update in 1.68
[@1:23:54] - Help test cargo’s HTTP protocol
Credits
Intro Theme: Aerocity
Audio Editing: Aerocity
Hosting Infrastructure: Jon Gjengset
Show Notes: Jon Gjengset
Hosts: Jon Gjengset and Ben Striegel
Released:
Feb 13, 2023
Format:
Podcast episode
Titles in the series (100)
Announcing Rustacean Station and Rust 1.36 by Rustacean Station