| // This is not autofixable because we give extra suggestions to end the first expression with `;`. |
| fn foo(a: Option<u32>, b: Option<u32>) -> bool { |
| if let Some(x) = a { true } else { false } |
| //~^ ERROR mismatched types |
| //~| ERROR mismatched types |
| && //~ ERROR mismatched types |
| if let Some(y) = a { true } else { false } |
| } |
| |
| fn bar() -> bool { |
| false |
| } |
| |
| fn main() { |
| if true { true } else { false } && true; |
| //~^ ERROR mismatched types |
| //~| ERROR mismatched types |
| if true { true } else { false } && if true { true } else { false }; |
| //~^ ERROR mismatched types |
| //~| ERROR mismatched types |
| if true { true } else { false } if true { true } else { false }; |
| //~^ ERROR mismatched types |
| //~| ERROR mismatched types |
| if true { bar() } else { bar() } && if true { bar() } else { bar() }; |
| //~^ ERROR mismatched types |
| //~| ERROR mismatched types |
| if true { bar() } else { bar() } if true { bar() } else { bar() }; |
| //~^ ERROR mismatched types |
| //~| ERROR mismatched types |
| let _ = if true { true } else { false } && true; // ok |
| } |