| // run-rustfix |
| |
| #![warn(clippy::bool_to_int_with_if)] |
| #![allow(unused, dead_code, clippy::unnecessary_operation, clippy::no_effect)] |
| |
| fn main() { |
| let a = true; |
| let b = false; |
| |
| let x = 1; |
| let y = 2; |
| |
| // Should lint |
| // precedence |
| if a { |
| 1 |
| } else { |
| 0 |
| }; |
| if a { |
| 0 |
| } else { |
| 1 |
| }; |
| if !a { |
| 1 |
| } else { |
| 0 |
| }; |
| if a || b { |
| 1 |
| } else { |
| 0 |
| }; |
| if cond(a, b) { |
| 1 |
| } else { |
| 0 |
| }; |
| if x + y < 4 { |
| 1 |
| } else { |
| 0 |
| }; |
| |
| // if else if |
| if a { |
| 123 |
| } else if b { |
| 1 |
| } else { |
| 0 |
| }; |
| |
| // if else if inverted |
| if a { |
| 123 |
| } else if b { |
| 0 |
| } else { |
| 1 |
| }; |
| |
| // Shouldn't lint |
| |
| if a { |
| 1 |
| } else if b { |
| 0 |
| } else { |
| 3 |
| }; |
| |
| if a { |
| 3 |
| } else if b { |
| 1 |
| } else { |
| -2 |
| }; |
| |
| if a { |
| 3 |
| } else { |
| 0 |
| }; |
| if a { |
| side_effect(); |
| 1 |
| } else { |
| 0 |
| }; |
| if a { |
| 1 |
| } else { |
| side_effect(); |
| 0 |
| }; |
| |
| // multiple else ifs |
| if a { |
| 123 |
| } else if b { |
| 1 |
| } else if a | b { |
| 0 |
| } else { |
| 123 |
| }; |
| |
| some_fn(a); |
| } |
| |
| // Lint returns and type inference |
| fn some_fn(a: bool) -> u8 { |
| if a { 1 } else { 0 } |
| } |
| |
| fn side_effect() {} |
| |
| fn cond(a: bool, b: bool) -> bool { |
| a || b |
| } |