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: consider adding `let` | LL | if let None = x { } | +++ error: aborting due to 3 previous errors For more information about this error, try `rustc --explain E0308`.