Rustacean Station

What's New in Rust 1.76, 1.77, and 1.78


Listen Later

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
  • 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

                                          ...more
                                          View all episodesView all episodes
                                          Download on the App Store

                                          Rustacean StationBy Rustacean Station

                                          • 4.9
                                          • 4.9
                                          • 4.9
                                          • 4.9
                                          • 4.9

                                          4.9

                                          62 ratings


                                          More shows like Rustacean Station

                                          View all
                                          Software Engineering Radio - the podcast for professional software developers by se-radio@computer.org

                                          Software Engineering Radio - the podcast for professional software developers

                                          263 Listeners

                                          The Changelog: Software Development, Open Source by Changelog Media

                                          The Changelog: Software Development, Open Source

                                          285 Listeners

                                          LINUX Unplugged by Jupiter Broadcasting

                                          LINUX Unplugged

                                          264 Listeners

                                          Talk Python To Me by Michael Kennedy

                                          Talk Python To Me

                                          585 Listeners

                                          Software Engineering Daily by Software Engineering Daily

                                          Software Engineering Daily

                                          629 Listeners

                                          Python Bytes by Michael Kennedy and Brian Okken

                                          Python Bytes

                                          213 Listeners

                                          Late Night Linux by The Late Night Linux Family

                                          Late Night Linux

                                          154 Listeners

                                          Syntax - Tasty Web Development Treats by Wes Bos & Scott Tolinski - Full Stack JavaScript Web Developers

                                          Syntax - Tasty Web Development Treats

                                          987 Listeners

                                          CoRecursive: Coding Stories by Adam Gordon Bell - Software Developer

                                          CoRecursive: Coding Stories

                                          185 Listeners

                                          Kubernetes Podcast from Google by Abdel Sghiouar, Kaslin Fields

                                          Kubernetes Podcast from Google

                                          184 Listeners

                                          Practical AI by Practical AI LLC

                                          Practical AI

                                          196 Listeners

                                          The Stack Overflow Podcast by The Stack Overflow Podcast

                                          The Stack Overflow Podcast

                                          63 Listeners

                                          The Real Python Podcast by Real Python

                                          The Real Python Podcast

                                          137 Listeners

                                          Oxide and Friends by Oxide Computer Company

                                          Oxide and Friends

                                          47 Listeners

                                          Rust in Production by Matthias Endler

                                          Rust in Production

                                          11 Listeners