Interesting. Is there any plausible way that Rust can fall into the == vs = trap?
fn main() {
let mut x = false;
println!("{}", x);
if {x=true;x} {
println!("{}", x);
}
}
But stands out as pretty obvious. Not something you might easily sneak into a codebase.