EPISODE · Oct 26, 2024 · 1H 45M
What's New in Rust 1.76, 1.77, and 1.78
from Rustacean Station
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: [email protected] 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
What this episode covers
Jon and Ben discuss the highlights of the 1.76, 1.77, and 1.78 releases of Rust.
NOW PLAYING
What's New in Rust 1.76, 1.77, and 1.78
No transcript for this episode yet