mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-12-24 03:53:20 +00:00
86 lines
1.1 KiB
Rust
86 lines
1.1 KiB
Rust
|
// 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
|
||
|
i32::from(a);
|
||
|
i32::from(!a);
|
||
|
i32::from(a || b);
|
||
|
i32::from(cond(a, b));
|
||
|
i32::from(x + y < 4);
|
||
|
|
||
|
// if else if
|
||
|
if a {
|
||
|
123
|
||
|
} else {i32::from(b)};
|
||
|
|
||
|
// 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 {
|
||
|
u8::from(a)
|
||
|
}
|
||
|
|
||
|
fn side_effect() {}
|
||
|
|
||
|
fn cond(a: bool, b: bool) -> bool {
|
||
|
a || b
|
||
|
}
|