error: expected `=`, found `==` --> $DIR/issue-103587.rs:4:20 | LL | if let Some(_) == x {} | ^^ | help: consider using `=` here | LL | if let Some(_) = x {} | ~ error[E0308]: mismatched types --> $DIR/issue-103587.rs:7:8 | LL | if Some(_) = x {} | ^^^^^^^^^^^ expected `bool`, found `()` | help: consider adding `let` | LL | if let Some(_) = x {} | +++ error[E0308]: mismatched types --> $DIR/issue-103587.rs:10:8 | LL | if None = x { } | ^^^^^^^^ expected `bool`, found `()` | help: you might have meant to use pattern matching | LL | if let None = x { } | +++ help: you might have meant to compare for equality | LL | if None == x { } | + error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0308`.