# What's New in Rust 1.76, 1.77, and 1.78 Page: https://stenobird.com/podcast/rustacean-station/what-s-new-in-rust-1-76-1-77-and-1-78 Text version: https://stenobird.com/podcast/rustacean-station/what-s-new-in-rust-1-76-1-77-and-1-78.md Podcast: [Rustacean Station](https://stenobird.com/podcast/rustacean-station) Published: 2024-10-26T08:36:00+00:00 Episode link: https://rustacean-station.org/episode/rust-1.76-1.77-1.78/ Audio file: https://dts.podtrac.com/redirect.mp3/audio.rustacean-station.org/file/rustacean-station/2024-10-26-rust-1.76-1.77-1.78.mp3 Processing state: processed JSON: https://stenobird.com/v1/public/podcasts/rustacean-station/episodes/what-s-new-in-rust-1-76-1-77-and-1-78 Duration seconds: 6334 ## Resource A deep dive into the incremental improvements and stability enhancements across Rust versions 1.76, 1.77, and 1.78. The discussion covers everything from low-level ABI documentation to new linting capabilities for enforcing MSRV. ## Highlights - Main idea: Rust 1.76 introduced clearer documentation regarding ABI compatibility for function pointers - Practical takeaway: New lints now help developers enforce Minimum Supported Rust Version (MSRV) directly via package metadata - Failure mode: The discussion highlights how reading references to static mut can lead to undefined behavior, now better addressed by lints - Main idea: Cargo updates are streamlining how metadata and lock files are handled to ensure consistency across commands - Practical takeaway: Developers can use new diagnostic hints to provide better error messages for compiler-driven improvements ## Topics Rust Programming, Software Development, Cargo Package Manager, Compiler Diagnostics, Memory Safety, API Design, MSRV, Programming Languages ## Chapters - 1:00 — Rust 1.76: ABI and Documentation: An overview of the 1.76 release, focusing on new documentation regarding ABI compatibility for function pointers. - 9:05 — Type Debugging Utilities: Discussion on generic functions used for retrieving string representations of types for debugging purposes. - 25:00 — String Literals and Syntax: Exploring new syntax for string literals and the implementation of arbitrary prefixes. - 32:55 — Memory Offsets and Stability: A look at the stability of AI-related types and the use of offset-of for byte calculations. - 48:30 — Safety and Undefined Behavior: Addressing the risks of reading static mut references and the introduction of new safety lints. - 56:50 — Cargo Standardization: How Rust 1.77 aligns Cargo metadata, lock files, and command inputs into a unified format. - 1:37:10 — The Future of Cargo Lockfiles: A look ahead at version 4 of the lockfile and handling complex git dependencies. ## Actions - request_transcript: `POST https://stenobird.com/v1/public/podcasts/rustacean-station/episodes/what-s-new-in-rust-1-76-1-77-and-1-78/transcription-requests` — Idempotently request low-priority transcript generation for this episode. - read_markdown: `GET https://stenobird.com/podcast/rustacean-station/what-s-new-in-rust-1-76-1-77-and-1-78.md` — Read the agent-friendly Markdown representation of this episode resource. A page view does not enqueue transcription. Agents should invoke `request_transcript` explicitly when they need this episode processed. ## Transcript Full transcripts are not published on public pages unless there is a clear rights basis.