Jon 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: hello@rustacean-station.org

Timestamps & referenced resources

[@00:34] - Rust 1.76

[@01:18] - ABI compatibility updates

The updated ABI section

An interesting article on ABIs in Swift vs Rust

[@08:53] - Type names from references

type_name

type_name_of_val

[@10:35] - Stabilized APIs

[@10:56] - Result::inspect

[@13:53] - Arc::unwrap_or_clone

[@15:25] - std::hash::DefaultHasher

[@18:01] - ptr::addr_eq

[@21:30] - Changelog deep-dive

[@21:33] - Resize/hide rustdoc bars

[@22:40] - Rust 1.77

[@22:51] - C-string literals

std::ffi::CStr

[@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

OpenOptions

[@46:15] - Changelog deep-dive

[@46:46] - Lint on references to static mut

SyncUnsafeCell

[@50:05] - Undeprecate unstable_features lint

[@51:37] - Deny braced macro invocation in let-else

Details from dtolnay comment

[@55:45] - cargo:: in build scripts

[@56:20] - Standardized package ID spec in Cargo

[@57:36] - slice::first_chunk

[@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

#[diagnostic] documentation

[@1:13:13] - Asserting unsafe preconditions

Implementation PR

[@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:25:40] - Compatibility notes

[@1:25:40] - Windows requirement bump

Replace pthread RwLock

Slim reader/writer locks

[@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 in Cargo.toml

Credits

Intro Theme: Aerocity

Audio Editing: Aerocity

Hosting Infrastructure: Jon Gjengset

Show Notes: Jon Gjengset

Hosts: Jon Gjengset and Ben Striegel

Podden och tillhörande omslagsbild på den här sidan tillhör Rustacean Station . Innehållet i podden är skapat av Rustacean Station och inte av, eller tillsammans med, Poddtoppen.