rust/tests/ui/redundant_pattern_matching_if_let_true.rs

39 lines
738 B
Rust

#![warn(clippy::redundant_pattern_matching)]
#![allow(clippy::needless_if, clippy::no_effect, clippy::nonminimal_bool)]
macro_rules! condition {
() => {
true
};
}
macro_rules! lettrue {
(if) => {
if let true = true {}
};
(while) => {
while let true = true {}
};
}
fn main() {
let mut k = 5;
if let true = k > 1 {}
if let false = k > 5 {}
if let (true) = k > 1 {}
if let (true, true) = (k > 1, k > 2) {}
while let true = k > 1 {
k += 1;
}
while let true = condition!() {
k += 1;
}
matches!(k > 5, true);
matches!(k > 5, false);
// Whole loop is from a macro expansion, don't lint:
lettrue!(if);
lettrue!(while);
}