Rustacean Station

What's New in Rust 1.65, 1.66, and 1.67

Montag, 13. Februar 2023 · 1 h 26

MP3

Shownotes

Jon and Ben discuss the highlights of the 1.65, 1.66, and 1.67 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:11] - Rust 1.65 (blog.rust-lang.org/2022/11/03/Rust-1.65.0.html)

• [@01:28] - Generic Associated Types (blog.rust-lang.org/2022/11/03/Rust-1.65.0.html…)

• More detailed blog post (blog.rust-lang.org/2022/10/28/gats-stabilizati…)

• [@06:48] - let-else statements (blog.rust-lang.org/2022/11/03/Rust-1.65.0.html…)

• if_chain crate (docs.rs/if_chain/latest/if_chain)

• [@16:56] - break from labeled blocks (blog.rust-lang.org/2022/11/03/Rust-1.65.0.html…)

• [@19:21] - Splitting Linux debuginfo (blog.rust-lang.org/2022/11/03/Rust-1.65.0.html…)

• [@20:44] - Stabilized APIs (blog.rust-lang.org/2022/11/03/Rust-1.65.0.html…)

• std::backtrace::Backtrace (doc.rust-lang.org/stable/std/backtrace/struct.…)

• [@22:41] - RLS deprecation (blog.rust-lang.org/2022/07/01/RLS-deprecation.…)

• [@23:19] - Changelog deep-dive

• [@23:30] - Cargo queue reordering (github.com/rust-lang/cargo/pull/11032)

• Benchmarking results (github.com/lqd/rustc-benchmarking-data/tree/ma…)

• [@24:54] - Niches in data-filled enums (github.com/rust-lang/rust/issues/46213)

• [@27:23] - poll_fn and Unpin (github.com/rust-lang/rust/pull/102737)

• [@28:05] - Too many personalities (github.com/rust-lang/rust/issues/102754)

• [@29:20] - uninit integers are UB (github.com/rust-lang/rust/pull/98919)

• Working Group discussion (github.com/rust-lang/unsafe-code-guidelines/is…)

• [@33:23] - Uplift let_underscore lint (github.com/rust-lang/rust/pull/97739)

• [@35:13] - #[non_exhaustive] on enum variants

[@36:27] - Rust 1.66.0 (blog.rust-lang.org/2022/12/15/Rust-1.66.0.html)

• [@36:40] - Explicit discriminants on enums with fields (blog.rust-lang.org/2022/12/15/Rust-1.66.0.html…)

• Dark and forbidden secrets (github.com/rust-lang/rust/issues/81686)

• RFC (github.com/rust-lang/rfcs/blob/master/text/236…)

• [@40:05] - core::hint::black_box (blog.rust-lang.org/2022/12/15/Rust-1.66.0.html…)

• Tracking issue discussion (github.com/rust-lang/rust/issues/64102)

• [@46:34] - cargo remove (blog.rust-lang.org/2022/12/15/Rust-1.66.0.html…)

• [@46:52] - Stabilized APIs (blog.rust-lang.org/2022/12/15/Rust-1.66.0.html…)

• Mixed integer operations (github.com/rust-lang/rust/issues/87840)

• BTreeMap/Set first/last operations (github.com/rust-lang/rust/issues/62924)

• std::os::fd (doc.rust-lang.org/stable/std/os/fd/index.html)

• [@50:51] - Changelog deep-dive

• [@51:10] - Cargo publish changes (github.com/rust-lang/cargo/blob/master/CHANGEL…)

• [@53:33] - Don’t link to libresolv (github.com/rust-lang/rust/pull/102766) or libiconv (github.com/rust-lang/rust/pull/103277) on Darwin

• [@54:41] - sym in asm (github.com/rust-lang/rust/pull/103168)

• [@55:18] - Soundness fix for impl Trait (github.com/rust-lang/rust/issues/84305)

• [@57:27] - Allow transmutes across lifetimes (github.com/rust-lang/rust/pull/101520)

• [@57:45] - Unicode 15 (blog.unicode.org/2022/09/announcing-unicode-st…)

• [@58:24] - for loops over Option and Result (github.com/rust-lang/rust/pull/99696)

[@1:00:38] - Rust 1.66.1 (blog.rust-lang.org/2023/01/10/Rust-1.66.1.html)

Security advisory (blog.rust-lang.org/2023/01/10/cve-2022-46176.h…).

Affects primarily users with insteadOf in their git config. Prefer
git-scm.com/docs/git-config#Documentation/git-…
instead.

You may also be interested in:

• Rustup 1.25.2 (blog.rust-lang.org/2023/02/01/Rustup-1.25.2.html)

[@1:02:41] - Rust 1.67 (blog.rust-lang.org/2023/01/26/Rust-1.67.0.html)

• [@1:02:45] - #[must_use] on async fn (blog.rust-lang.org/2023/01/26/Rust-1.67.0.html…)

• [@1:04:07] - sync::mpsc updated (blog.rust-lang.org/2023/01/26/Rust-1.67.0.html…)

• Long-standing mpsc panic (github.com/rust-lang/rust/issues/39364)

• The PR (github.com/rust-lang/rust/pull/935630)

• crossbeam crate (docs.rs/crossbeam/latest/crossbeam)

• docs.rs/crossbeam/0.8.2/crossbeam/utils/struct…

• docs.rs/crossbeam/0.8.2/crossbeam/atomic/struc…

• [@1:07:52] - Stabilized APIs (blog.rust-lang.org/2023/01/26/Rust-1.67.0.html…)

• NonZero*::BITS (doc.rust-lang.org/stable/std/num/struct.NonZer…)

• [@1:08:38] - Changelog deep-dive

• [@1:08:45] - Ratio-aware decompression limit (github.com/rust-lang/cargo/pull/11337)

• Original CVE (blog.rust-lang.org/2022/09/14/cargo-cves.html#…)

• Original fix (github.com/rust-lang/cargo/pull/11089)

• [@1:10:40] - Ordering of array fields (github.com/rust-lang/rust/pull/102750)

• [@1:13:08] - Compilation targets

• Sony PlayStation 1 target (github.com/rust-lang/rust/pull/102689)

• Remove linuxkernel targets (github.com/rust-lang/rust/pull/104015)

• Target configuration (doc.rust-lang.org/nightly/nightly-rustc/rustc_…)

• doc.rust-lang.org/rustc/platform-support/x86_6…

• [@1:14:45] - Dataflow-based MIR constant propagation (github.com/rust-lang/rust/pull/101168)

• [@1:15:37] - The drop order twist (github.com/rust-lang/rust/pull/103293)

• The effect on let-chains (github.com/rust-lang/rust/issues/100513#issuec…)

• let-chains tracking issue (github.com/rust-lang/rust/issues/53667)

• [@1:20:48] - Inconsistent rounding of 0.5 (github.com/rust-lang/rust/pull/102935)

• [@1:23:24] - Android NDK update in 1.68 (blog.rust-lang.org/2023/01/09/android-ndk-upda…)

• [@1:23:54] - Help test cargo’s HTTP protocol (blog.rust-lang.org/inside-rust/2023/01/30/carg…)

Credits

Intro Theme: twitter.com/AerocityMusic

Audio Editing: twitter.com/AerocityMusic

Hosting Infrastructure: Jon Gjengset (twitter.com/jonhoo)

Show Notes: Jon Gjengset (twitter.com/jonhoo)

Hosts: Jon Gjengset and Ben Striegel

0:00 / 0:00