Rust 2024 migration: cargo fix keeps your deadlock alive

`cargo fix --edition` on Rust 1.99.0 rewrote five of our six risky spots, but one rewrite turned an `if let` into a `match` that still deadlocks after you move to edition 2024.

It also does not change the `edition` line in `Cargo.toml`, so you must bump it by hand.

Edition 2024 changes the order in which values are dropped: a tail-expression temporary now drops before the local variables, and an `if let` temporary drops before the `else` branch.

Rust 1.99.0 makes the move more useful, because `default-features = false` on a workspace dependency works only on edition 2024.

Read the full post

Read the full post