Kapitelklicken springt direkt hin
Shownotes
Jon and Ben discuss the highlights of the 1.79 and 1.80 releases of Rust.
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
[@01:02] - Rust 1.79 (blog.rust-lang.org/2024/06/13/Rust-1.79.0)
• [@01:02] - Inline const expressions (blog.rust-lang.org/2024/06/13/Rust-1.79.0/#inl…)
• [@08:33] - Bounds in associated type position (blog.rust-lang.org/2024/06/13/Rust-1.79.0/#bou…)
• [@14:11] - Extending automatic temporary lifetime extension (blog.rust-lang.org/2024/06/13/Rust-1.79.0/#ext…)
• Mara’s blog post on temporary lifetimes (blog.m-ou.se/super-let)
• [@21:55] - Frame pointers enabled in standard library builds (blog.rust-lang.org/2024/06/13/Rust-1.79.0/#fra…)
• Does omitting the frame pointer really affect performance? (stackoverflow.com/questions/13006371/does-omit…)
• [@25:37] - Stabilized APIs (blog.rust-lang.org/2024/06/13/Rust-1.79.0/#sta…)
• [@25:37] - {integer}::unchecked_add (doc.rust-lang.org/stable/core/primitive.i32.ht…)
• [@27:39] - <*const [T]>::len (doc.rust-lang.org/stable/core/primitive.pointe…)
• [@29:21] - <[u8]>::utf8_chunks (doc.rust-lang.org/stable/core/primitive.slice.…)
• [@31:21] - CStr::count_bytes (doc.rust-lang.org/stable/core/ffi/c_str/struct…)
• [@32:41] - num::NonZero<T> (doc.rust-lang.org/stable/core/num/struct.NonZe…)
• [@36:30] - io::Error::downcast (doc.rust-lang.org/stable/std/io/struct.Error.h…)
• [@36:50] - path::absolute (doc.rust-lang.org/stable/std/path/fn.absolute.…)
• [@38:18] - Changelog deep-dive
• [@38:31] - Stabilize WASM target features that are in phase 4 and 5 (github.com/rust-lang/rust/pull/117457)
• [@39:15] - Document overrides of clone_from() in core/std (github.com/rust-lang/rust/pull/122201)
• [@41:46] - Switch to using gitoxide by default for listing files in cargo (github.com/rust-lang/cargo/pull/13696)
• [@43:03] - Stabilize lint unnameable_types (github.com/rust-lang/rust/pull/120144)
• [@44:46] - manual_clamp lint (rust-lang.github.io/rust-clippy/master/index.h…)
[@45:46] - Rust 1.80 (blog.rust-lang.org/2024/07/25/Rust-1.80.0)
• [@46:09] - LazyCell and LazyLock (blog.rust-lang.org/2024/07/25/Rust-1.80.0/#laz…)
• [@53:42] - Checked cfg names and values (blog.rust-lang.org/2024/07/25/Rust-1.80.0/#che…)
• Detailed blog post on checked cfg (blog.rust-lang.org/2024/05/06/check-cfg)
• [@56:41] - Exclusive ranges in patterns (blog.rust-lang.org/2024/07/25/Rust-1.80.0/#exc…)
• [@58:52] - Stabilized APIs (blog.rust-lang.org/2024/07/25/Rust-1.80.0/#sta…)
• [@59:05] - Vec::<[T; N]>::into_flattened (doc.rust-lang.org/stable/alloc/vec/struct.Vec.…)
• <[[T; N]]>::as_flattened (doc.rust-lang.org/stable/core/primitive.slice.…)
• [@1:00:31] - <[u8]>::trim_ascii (doc.rust-lang.org/stable/core/primitive.slice.…)
• [@1:02:06] - NonNull::add and other ptr-like methods (doc.rust-lang.org/stable/std/ptr/struct.NonNul…)
• [@1:03:41] - impl IntoIterator for Box<[T]> (doc.rust-lang.org/stable/alloc/boxed/struct.Bo…)
• [@1:05:46] - Option::take_if (doc.rust-lang.org/stable/std/option/enum.Optio…)
• [@1:07:30] - Ipv4Addr::to_bits (doc.rust-lang.org/stable/core/net/struct.Ipv4A…)
• [@1:09:10] - Changelog deep-dive
• [@1:09:25] - x86_64-unknown-linux-none (github.com/rust-lang/rust/pull/125023)
• [@1:11:07] - Add size_of and align_of to the prelude (github.com/rust-lang/rust/pull/123168)
• [@1:12:34] - Never type fallback flowing into unsafe (doc.rust-lang.org/rustc/lints/listing/warn-by-…)
• [@1:17:29] - New panics and aborts in the standard library
• Abort when OwnedFd is violated (github.com/rust-lang/rust/pull/124210)
• Panic if set_extension adds / (github.com/rust-lang/rust/pull/125070)
• [@1:20:28] - Restore enum variants in rustdoc for type aliases (github.com/rust-lang/rust/pull/125300)
• [@1:21:12] - Change assigning_clones lint to pedantic (github.com/rust-lang/rust-clippy/pull/12779)
• [@1:22:15] - Turn lints into hard errors (github.com/rust-lang/rust/pull/124661)
• [@1:22:49] - env::set_var regression (github.com/rust-lang/rust/pull/124636#issuecom…)
• [@1:24:34] - StdoutLock regression (github.com/rust-lang/rust/issues/127340#issuec…)
[@1:26:00] - Rust 1.80.1 (blog.rust-lang.org/2024/08/08/Rust-1.80.1)
Fixes miscompilation when comparing
floats (blog.rust-lang.org/2024/08/08/Rust-1.80.1/#mis…)
and false positives in the dead_code
lint (blog.rust-lang.org/2024/08/08/Rust-1.80.1/#fal…).
Credits
Intro Theme: twitter.com/AerocityMusic
Audio Editing: Jon Gjengset (thesquareplanet.com)
Hosting Infrastructure: Jon Gjengset (thesquareplanet.com)
Show Notes: Jon Gjengset (thesquareplanet.com)
Hosts: Jon Gjengset and Ben Striegel