Rust's Sneaky Deadlock With `if let` Blocks

Rust is my favorite programming language. I've been writing Rust for about 6 years, from college to professionally, and I'm vocal about how helpful the compiler is in catching particularly nasty multithreaded issues and memory bugs. What the compiler doesn't always catch though is deadlocks, which can occur using several well known types like Mutex and RwLock . Generally, this is fine, and you can…