error[E0425]: cannot find value `x` in this scope
  --> $DIR/if-let-typo.rs:4:13
   |
LL |     if Some(x) = foo {}
   |             ^ not found in this scope
   |
help: you might have meant to use pattern matching
   |
LL |     if let Some(x) = foo {}
   |        +++

error[E0425]: cannot find value `x` in this scope
  --> $DIR/if-let-typo.rs:10:8
   |
LL |     if x = 5 {}
   |        ^ not found in this scope
   |
help: you might have meant to use pattern matching
   |
LL |     if let x = 5 {}
   |        +++

error[E0308]: mismatched types
  --> $DIR/if-let-typo.rs:4:8
   |
LL |     if Some(x) = foo {}
   |        ^^^^^^^^^^^^^ expected `bool`, found `()`
   |
help: consider adding `let`
   |
LL |     if let Some(x) = foo {}
   |        +++

error[E0308]: mismatched types
  --> $DIR/if-let-typo.rs:6:8
   |
LL |     if Some(foo) = bar {}
   |        ^^^^^^^^^^^^^^^ expected `bool`, found `()`
   |
help: consider adding `let`
   |
LL |     if let Some(foo) = bar {}
   |        +++

error[E0308]: mismatched types
  --> $DIR/if-let-typo.rs:7:8
   |
LL |     if 3 = foo {}
   |        ^^^^^^^ expected `bool`, found `()`

error[E0070]: invalid left-hand side of assignment
  --> $DIR/if-let-typo.rs:8:16
   |
LL |     if Some(3) = foo {}
   |             -  ^
   |             |
   |             cannot assign to this expression

error[E0308]: mismatched types
  --> $DIR/if-let-typo.rs:8:8
   |
LL |     if Some(3) = foo {}
   |        ^^^^^^^^^^^^^ expected `bool`, found `()`
   |
help: consider adding `let`
   |
LL |     if let Some(3) = foo {}
   |        +++

error: aborting due to 7 previous errors

Some errors have detailed explanations: E0070, E0308, E0425.
For more information about an error, try `rustc --explain E0070`.