| //@ edition: 2024 | |
| //@ run-rustfix | |
| #![allow(unused_variables)] | |
| #![allow(dead_code)] | |
| #![allow(irrefutable_let_patterns)] | |
| fn err_some(b: bool, x: Option<u32>) { | |
| if b && let Some(x) = x {} | |
| //~^ ERROR unexpected `if` in the condition expression | |
| } | |
| fn err_none(b: bool, x: Option<u32>) { | |
| if b && let None = x {} | |
| //~^ ERROR unexpected `if` in the condition expression | |
| } | |
| fn err_bool_1() { | |
| if true && true { true } else { false }; | |
| //~^ ERROR unexpected `if` in the condition expression | |
| } | |
| fn err_bool_2() { | |
| if true && false { true } else { false }; | |
| //~^ ERROR unexpected `if` in the condition expression | |
| } | |
| fn should_ok_1() { | |
| if true && if let x = 1 { true } else { true } {} | |
| } | |
| fn should_ok_2() { | |
| if true && if let 1 = 1 { true } else { true } {} | |
| } | |
| fn should_ok_3() { | |
| if true && if true { true } else { false } {} | |
| } | |
| fn should_ok_in_nested() { | |
| if true && if true { true } else { false } { true } else { false }; | |
| } | |
| fn main() {} |