63 min listen
What's New in Rust 1.56 and 1.57
ratings:
Length:
87 minutes
Released:
Dec 23, 2021
Format:
Podcast episode
Description
Jon and Ben discuss the highlights of the 1.56 and 1.57 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:14] - Rust 2021 edition
[@01:16] - What is an edition?
[@05:03] - Disjoint captures in closures
Niko’s “view types” proposal
[@09:00] - IntoIterator for arrays
[@11:12] - Or patterns in macro_rules
[@13:31] - New default Cargo feature resolver
Details on the new resolver
[@15:16] - Additions to the prelude
std::prelude
FromIterator
[@19:38] - Panic macro consistency and new reserved syntax
[@20:33] - Implicit formatting captures (more on Reddit)
[@25:00] - Reserved syntax for “f-strings”
[@27:54] - Why panic! had to change
[@28:55] - Other uses for reserved syntax
[@30:15] - Warnings promoted to errors
Future incompatibility warnings
[@35:23] - cargo fix
[@36:20] - Rust 1.56
[@36:30] - Cargo.toml rust-version
Cargo book entry
[@42:54] - New bindings in binding @ pattern
[@44:27] - Stabilized APIs
[@49:27] - Changelog deep-dive
[@49:27] - impl From<[(K, V), N]> for collections
RFC for adding collection literal macros
[@53:07] - Remove P: Unpin bound on impl Future for Pin
[@55:16] - Instant backsliding protection optimization
May end up being removed!
[@58:01] - LLVM 13 upgrade
LLVM’s new pass manager
[@59:23] - Have Cargo set environment variables
[@1:00:17] - Rust 1.56.1
Security advisory
The “Trojan Source” vulnerability
Rust RFC on non-ASCII identifiers
[@1:04:52] - Rust 1.57
[@1:05:20] - Panic in const contexts
[@1:07:20] - Custom Cargo profiles
Cargo book on profiles
[@1:08:45] - Fallible allocation
Fallible collection allocation RFC
Linux Torvals on handling allocation failures
Rust features still needed by the Linux kernel
[@1:12:33] - Stabilized APIs
[@1:16:45] - Changelog deep-dive
[@1:16:50] - Vec::leak no longer allocates
[@1:18:03] - Nintendo 3DS added as Tier 3 platform
[@1:19:03] - Cargo no longer passes through RUSTFLAGS
Environment variables set by Cargo
[@1:20:13] - Lots more #[must_use] in std
[@1:22:00] - File::read_to_* optimized
[@1:23:24] - Curly braces macros accept following . and ?
[@1:25:22] - Banter – Rust all the way down.
Credits
Intro Theme: Aerocity
Audio Editing: Aerocity
Hosting Infrastructure: Jon Gjengset
Show Notes: Jon Gjengset
Hosts: Jon Gjengset and Ben Striegel
Transcript: Eric Seppanen
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:14] - Rust 2021 edition
[@01:16] - What is an edition?
[@05:03] - Disjoint captures in closures
Niko’s “view types” proposal
[@09:00] - IntoIterator for arrays
[@11:12] - Or patterns in macro_rules
[@13:31] - New default Cargo feature resolver
Details on the new resolver
[@15:16] - Additions to the prelude
std::prelude
FromIterator
[@19:38] - Panic macro consistency and new reserved syntax
[@20:33] - Implicit formatting captures (more on Reddit)
[@25:00] - Reserved syntax for “f-strings”
[@27:54] - Why panic! had to change
[@28:55] - Other uses for reserved syntax
[@30:15] - Warnings promoted to errors
Future incompatibility warnings
[@35:23] - cargo fix
[@36:20] - Rust 1.56
[@36:30] - Cargo.toml rust-version
Cargo book entry
[@42:54] - New bindings in binding @ pattern
[@44:27] - Stabilized APIs
[@49:27] - Changelog deep-dive
[@49:27] - impl From<[(K, V), N]> for collections
RFC for adding collection literal macros
[@53:07] - Remove P: Unpin bound on impl Future for Pin
[@55:16] - Instant backsliding protection optimization
May end up being removed!
[@58:01] - LLVM 13 upgrade
LLVM’s new pass manager
[@59:23] - Have Cargo set environment variables
[@1:00:17] - Rust 1.56.1
Security advisory
The “Trojan Source” vulnerability
Rust RFC on non-ASCII identifiers
[@1:04:52] - Rust 1.57
[@1:05:20] - Panic in const contexts
[@1:07:20] - Custom Cargo profiles
Cargo book on profiles
[@1:08:45] - Fallible allocation
Fallible collection allocation RFC
Linux Torvals on handling allocation failures
Rust features still needed by the Linux kernel
[@1:12:33] - Stabilized APIs
[@1:16:45] - Changelog deep-dive
[@1:16:50] - Vec::leak no longer allocates
[@1:18:03] - Nintendo 3DS added as Tier 3 platform
[@1:19:03] - Cargo no longer passes through RUSTFLAGS
Environment variables set by Cargo
[@1:20:13] - Lots more #[must_use] in std
[@1:22:00] - File::read_to_* optimized
[@1:23:24] - Curly braces macros accept following . and ?
[@1:25:22] - Banter – Rust all the way down.
Credits
Intro Theme: Aerocity
Audio Editing: Aerocity
Hosting Infrastructure: Jon Gjengset
Show Notes: Jon Gjengset
Hosts: Jon Gjengset and Ben Striegel
Transcript: Eric Seppanen
Released:
Dec 23, 2021
Format:
Podcast episode
Titles in the series (100)
Ruma and the Matrix Communication Protocol: An Interview with Jimmy Cuadra by Rustacean Station