What's New in Rust 1.76, 1.77, and 1.78
Posted Sat, 26 Oct 2024 08:36:00 +0000Jon and Ben discuss the highlights of the 1.76, 1.77, and 1.78 releases of Rust.
This episode was recorded as part of a YouTube live stream on 2024-05-18, which you can still watch.
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:34] - Rust 1.76
- [@01:18] - ABI compatibility updates
- [@08:53] - Type names from references
- [@10:35] - Stabilized APIs
- [@10:56] -
Result::inspect
- [@13:53] -
Arc::unwrap_or_clone
- [@15:25] -
std::hash::DefaultHasher
- [@18:01] -
ptr::addr_eq
- [@10:56] -
- [@21:30] - Changelog deep-dive
- [@21:33] - Resize/hide rustdoc bars
[@22:40] - Rust 1.77
- [@22:51] - C-string literals
- [@28:20] - Support for recursion in
async fn
- [@31:43] -
offset_of!
- [@36:32] - Enable strip in release profiles by default
- [@39:35] - Stabilized APIs
- [@39:36] -
core::net
- [@40:59] -
f64::round_ties_even
- [@42:05] -
Mutex::clear_poison
- [@43:43] -
File::create_new
- [@39:36] -
- [@46:15] - Changelog deep-dive
- [@46:46] - Lint on references to
static mut
- [@50:05] - Undeprecate
unstable_features
lint - [@51:37] - Deny braced macro invocation in let-else
- [@55:45] -
cargo::
in build scripts - [@56:20] - Standardized package ID spec in Cargo
- [@57:36] -
slice::first_chunk
- [@46:46] - Lint on references to
[@59:55] - Rust 1.77.1
Stripping debug info in release builds broke Windows.
[@1:00:58] - Rust 1.77.2
Fixes CVE-2024-24576.
Detailed advisory, fix, and current logic.
[@1:04:54] - Rust 1.78
- [@1:07:55] - Diagnostic attributes
- [@1:13:13] - Asserting
unsafe
preconditions - [@1:19:56] - Deterministic realignment
- [@1:23:24] - Stabilized APIs
- [@1:23:33] -
impl Read for &Stdin
- [@1:24:03] - Relax bounds on
Error
trait implementations
- [@1:23:33] -
- [@1:25:40] - Compatibility notes
- [@1:25:40] - Windows requirement bump
- [@1:29:25] - LLVM 18 brings
*128
ABI change
- [@1:32:04] - Changelog deep-dive
- [@1:32:04] - Make non-
PartialEq
-typed consts as patterns a hard error - [@1:34:59] - Suggest moving definition if non-found macro_rules! is defined later
- [@1:36:08] - Stabilize v4 of Cargo lockfile
- [@1:37:36] -
cargo update
highlights stale dependencies - [@1:38:23] - Deprecate non-extension
.cargo
/config
files - [@1:39:19] - Clippy lint
assigning_clones
- [@1:40:49] - Clippy lint
incompatible_msrv
- [@1:42:22] -
cargo new
stopped commenting inCargo.toml
- [@1:32:04] - Make non-
Credits
Intro Theme: Aerocity
Audio Editing: Aerocity
Hosting Infrastructure: Jon Gjengset
Show Notes: Jon Gjengset
Hosts: Jon Gjengset and Ben Striegel