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