Kapitelklicken springt direkt hin
Shownotes
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 (youtube.com/live/VpSXTJXX1YA?t=7037s).
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 (twitter.com/rustaceanfm)
• Discord: Rustacean Station (discord.gg/cHc3Gyc)
• Github: @rustacean-station (github.com/rustacean-station)
• Email: hello@rustacean-station.org
Timestamps & referenced resources
[@00:34] - Rust 1.76 (blog.rust-lang.org/2024/02/08/Rust-1.76.0.html)
• [@01:18] - ABI compatibility updates (blog.rust-lang.org/2024/02/08/Rust-1.76.0.html…)
• The updated ABI section (doc.rust-lang.org/stable/std/primitive.fn.html…)
• An interesting article on ABIs in Swift vs Rust (faultlore.com/blah/swift-abi)
• [@08:53] - Type names from references (blog.rust-lang.org/2024/02/08/Rust-1.76.0.html…)
• doc.rust-lang.org/stable/std/any/fn.type_name.…
• doc.rust-lang.org/stable/std/any/fn.type_name_…
• [@10:35] - Stabilized APIs (blog.rust-lang.org/2024/02/08/Rust-1.76.0.html…)
• [@10:56] - Result::inspect (doc.rust-lang.org/stable/std/result/enum.Resul…)
• [@13:53] - Arc::unwrap_or_clone (doc.rust-lang.org/stable/std/sync/struct.Arc.h…)
• [@15:25] - std::hash::DefaultHasher (doc.rust-lang.org/stable/std/hash/index.html#s…)
• [@18:01] - ptr::addr_eq (doc.rust-lang.org/stable/std/ptr/fn.addr_eq.html)
• [@21:30] - Changelog deep-dive
• [@21:33] - Resize/hide rustdoc bars (github.com/rust-lang/rust/pull/115660)
[@22:40] - Rust 1.77 (blog.rust-lang.org/2024/03/21/Rust-1.77.0.html)
• [@22:51] - C-string literals (blog.rust-lang.org/2024/03/21/Rust-1.77.0.html…)
• std::ffi::CStr (doc.rust-lang.org/std/ffi/struct.CStr.html)
• [@28:20] - Support for recursion in async fn (blog.rust-lang.org/2024/03/21/Rust-1.77.0.html…)
• [@31:43] - offset_of! (blog.rust-lang.org/2024/03/21/Rust-1.77.0.html…)
• [@36:32] - Enable strip in release profiles by default (blog.rust-lang.org/2024/03/21/Rust-1.77.0.html…)
• [@39:35] - Stabilized APIs (blog.rust-lang.org/2024/03/21/Rust-1.77.0.html…)
• [@39:36] - core::net (doc.rust-lang.org/stable/core/net/index.html)
• [@40:59] - f64::round_ties_even (doc.rust-lang.org/stable/std/primitive.f64.htm…)
• [@42:05] - Mutex::clear_poison (doc.rust-lang.org/stable/std/sync/struct.Mutex…)
• [@43:43] - File::create_new (doc.rust-lang.org/stable/std/fs/struct.File.ht…)
• doc.rust-lang.org/std/fs/struct.OpenOptions.html
• [@46:15] - Changelog deep-dive
• [@46:46] - Lint on references to static mut (github.com/rust-lang/rust/pull/117556)
• doc.rust-lang.org/std/cell/struct.SyncUnsafeCe…
• [@50:05] - Undeprecate unstable_features lint (github.com/rust-lang/rust/pull/118639)
• [@51:37] - Deny braced macro invocation in let-else (github.com/rust-lang/rust/pull/119062)
• Details from dtolnay comment (github.com/rust-lang/rust/issues/119057#issuec…)
• [@55:45] - cargo:: in build scripts (github.com/rust-lang/cargo/pull/12201)
• [@56:20] - Standardized package ID spec in Cargo (doc.rust-lang.org/nightly/cargo/reference/pkgi…)
• [@57:36] - slice::first_chunk (doc.rust-lang.org/stable/std/primitive.slice.h…)
[@59:55] - Rust 1.77.1 (blog.rust-lang.org/2024/03/28/Rust-1.77.1.html)
Stripping debug info in release builds broke Windows.
[@1:00:58] - Rust 1.77.2 (blog.rust-lang.org/2024/04/09/Rust-1.77.2.html)
Fixes cve.org/CVERecord?id=CVE-2024-24576.
Detailed advisory (blog.rust-lang.org/2024/04/09/cve-2024-24576.h…),
fix (github.com/rust-lang/rust/pull/123681), and current
logic (github.com/rust-lang/rust/blob/ae4c6b66402cdbd…).
[@1:04:54] - Rust 1.78 (blog.rust-lang.org/2024/05/02/Rust-1.78.0.html)
• [@1:07:55] - Diagnostic attributes (blog.rust-lang.org/2024/05/02/Rust-1.78.0.html…)
• #[diagnostic] documentation (doc.rust-lang.org/nightly/reference/attributes…)
• [@1:13:13] - Asserting unsafe preconditions (blog.rust-lang.org/2024/05/02/Rust-1.78.0.html…)
• Implementation PR (github.com/rust-lang/rust/pull/120594)
• [@1:19:56] - Deterministic realignment (blog.rust-lang.org/2024/05/02/Rust-1.78.0.html…)
• [@1:23:24] - Stabilized APIs (blog.rust-lang.org/2024/05/02/Rust-1.78.0.html…)
• [@1:23:33] - impl Read for &Stdin (doc.rust-lang.org/stable/std/io/struct.Stdin.h…)
• [@1:24:03] - Relax bounds on Error trait implementations (github.com/rust-lang/rust/pull/113833)
• [@1:25:40] - Compatibility notes (blog.rust-lang.org/2024/05/02/Rust-1.78.0.html…)
• [@1:25:40] - Windows requirement bump (blog.rust-lang.org/2024/02/26/Windows-7.html)
• Replace pthread RwLock (github.com/rust-lang/rust/pull/110211)
• Slim reader/writer locks (learn.microsoft.com/en-us/windows/win32/sync/s…)
• [@1:29:25] - LLVM 18 brings *128 ABI change (blog.rust-lang.org/2024/03/30/i128-layout-upda…)
• [@1:32:04] - Changelog deep-dive
• [@1:32:04] - Make non-PartialEq-typed consts as patterns a hard error (github.com/rust-lang/rust/pull/120805)
• [@1:34:59] - Suggest moving definition if non-found macro_rules! is defined later (github.com/rust-lang/rust/pull/121130)
• [@1:36:08] - Stabilize v4 of Cargo lockfile (github.com/rust-lang/cargo/pull/12852)
• [@1:37:36] - cargo update highlights stale dependencies (github.com/rust-lang/cargo/pull/13372)
• [@1:38:23] - Deprecate non-extension .cargo/config files (github.com/rust-lang/cargo/pull/13349)
• [@1:39:19] - Clippy lint assigning_clones (rust-lang.github.io/rust-clippy/master/index.h…)
• [@1:40:49] - Clippy lint incompatible_msrv (rust-lang.github.io/rust-clippy/master/index.h…)
• [@1:42:22] - cargo new stopped commenting in Cargo.toml (github.com/rust-lang/cargo/pull/13371)
Credits
Intro Theme: twitter.com/AerocityMusic
Audio Editing: twitter.com/AerocityMusic
Hosting Infrastructure: Jon Gjengset (thesquareplanet.com)
Show Notes: Jon Gjengset (thesquareplanet.com)
Hosts: Jon Gjengset and Ben Striegel