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`.