Jon and Ben discuss the highlights of the 1.62, 1.63, and 1.64 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

[@00:50] - Rust 1.62

[@00:58] - cargo add

Maintaining sorting in TOML files
toml_edit
cargo-edit


[@03:37] - #[default] enum variants

Generated bounds part of RFC
Macro helper attributes
Extra bounds on derive


[@07:36] - Thinner, faster mutexes on Linux

Tracking issue
Short thread on the change from Mara
More details from Mara on pthread mutexes


[@13:21] - Bare-metal x86_64 target

Target triples
Tier 2 target policy
Tier 2 targets
x86_64-unknown-none
Custom target triples


[@22:20] - Stabilized APIs

f64::total_cmp

Implementing PR


Stdin::lines
FusedIterator


[@29:22] - Changelog deep-dive

cargo -F for --features
unaligned_references lint now warns by default

addr_of!



[@31:09] - Rust 1.62.1

Not much to talk about. We also didn’t talk about:

Rustup 1.25.0
Rustup 1.25.1

[@31:56] - Rust 1.63

[@31:56] - Scoped threads

The Leakpocalypse issue
Pre-Pooping Your Pants With Rust


[@40:41] - Rust ownership for raw file descriptors

Rust I/O Safety RFC


[@43:45] - const mutex initialization
[@43:54] - Turbofish and impl Trait arguments

Search/replace generics reference
Rust reference for turbofish


[@52:03] - Non-lexical lifetimes migration complete

NLL stabilization and borrowck’s future
polonius


[@51:33] - Stabilized APIs

array::from_fn
Box::into_pin
Things Rust-in-Linux needs from Rust


[@56:27] - Changelog deep-dive

cargo --config
cargo new test code updated
New targets: Apple WatchOS and Nintendo 3DS
​[OsStr]::join

The Join trait



[@1:00:24] - Rust 1.64

[@1:00:32] - IntoFuture

Reference in original async/await RFC
Original IntoFuture regression


[@1:03:43] - C-compatible FFI types in core

libc crate
libcpocalypse


[@1:09:37] - rust-analyzer component in rustup

rust-analyzer proxy binary added to rustup


[@1:13:19] - Cargo workspace inheritance and multi-target builds

Inheriting attributes from the workspace


[@1:15:58] - Stabilized APIs

Stabilization PR for ready!


[@1:18:03] - Compatibility notes

Increasing the glibc and Linux kernel requirements
RLS deprecation


[@1:22:33] - Other changes

Profile-Guided Optimization
PR landing lint for unused tuple fields


[@1:25:12] - Changelog deep-dive

[build.jobs]

Implementing PR for negative values


New target: Nintendo Switch
Improve derive(Debug)

Other internal changes


Optimizing Vec::insert

Credits

Intro Theme: Aerocity

Audio Editing: Aerocity

Hosting Infrastructure: Jon Gjengset

Show Notes: Jon Gjengset

Hosts: Jon Gjengset and Ben Striegel

Twitter Mentions