Rustacean Station
Rustacean Station
Rustacean Station
What's New in Rust 1.65, 1.66, and 1.67
1 hour 25 minutes Posted Feb 13, 2023 at 3:55 pm.
] Rust 1.65
] Generic Associated Types
] let-else statements
] break from labeled blocks
] Splitting Linux debuginfo
] Stabilized APIs
] RLS deprecation
] Changelog deep-dive
] Cargo queue reordering
] Niches in data-filled enums
] poll_fn and Unpin
] Too many personalities
] uninit integers are UB
] Uplift let_underscore lint
] #[non_exhaustive] on enum variants
] Rust 1.66.0
] Explicit discriminants on enums with fields
] core::hint::black_box
] cargo remove
] Stabilized APIs
] Changelog deep-dive
] Cargo publish changes
] Don’t link to libresolv or libiconv on Darwin
] sym in asm
] Soundness fix for impl Trait
] Allow transmutes across lifetimes
] Unicode 15
] for loops over Option and Result
] Rust 1.66.1
] Rust 1.67
] #[must_use] on async fn
] sync::mpsc updated
] Stabilized APIs
] Changelog deep-dive
] Ratio-aware decompression limit
] Ordering of array fields
] Compilation targets
] Dataflow-based MIR constant propagation
] The drop order twist
] Inconsistent rounding of 0.5
] Android NDK update in 1.68
] Help test cargo’s HTTP protocol
0:00
1:25:30
Download MP3
Show notes
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: [email protected]
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: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
[@
[@
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:45] - Ratio-aware decompression limit
Original CVE
Original fix
[@
1:10:40] - Ordering of array fields
[@
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