87 lines
1.2 KiB
Rust
87 lines
1.2 KiB
Rust
#![warn(clippy::unit_cmp)]
|
|
#![allow(
|
|
clippy::no_effect,
|
|
clippy::unnecessary_operation,
|
|
clippy::derive_partial_eq_without_eq,
|
|
clippy::needless_ifs
|
|
)]
|
|
|
|
#[derive(PartialEq)]
|
|
pub struct ContainsUnit(()); // should be fine
|
|
|
|
fn main() {
|
|
// this is fine
|
|
if true == false {}
|
|
|
|
// this warns
|
|
if {
|
|
//~^ unit_cmp
|
|
|
|
true;
|
|
} == {
|
|
false;
|
|
} {}
|
|
|
|
if {
|
|
//~^ unit_cmp
|
|
|
|
true;
|
|
} > {
|
|
false;
|
|
} {}
|
|
|
|
assert_eq!(
|
|
//~^ unit_cmp
|
|
{
|
|
true;
|
|
},
|
|
{
|
|
false;
|
|
}
|
|
);
|
|
debug_assert_eq!(
|
|
//~^ unit_cmp
|
|
{
|
|
true;
|
|
},
|
|
{
|
|
false;
|
|
}
|
|
);
|
|
|
|
assert_ne!(
|
|
//~^ unit_cmp
|
|
{
|
|
true;
|
|
},
|
|
{
|
|
false;
|
|
}
|
|
);
|
|
debug_assert_ne!(
|
|
//~^ unit_cmp
|
|
{
|
|
true;
|
|
},
|
|
{
|
|
false;
|
|
}
|
|
);
|
|
}
|
|
|
|
fn issue15559() {
|
|
fn foo() {}
|
|
assert_eq!(
|
|
//~^ unit_cmp
|
|
{
|
|
1;
|
|
},
|
|
foo()
|
|
);
|
|
assert_eq!(foo(), foo());
|
|
//~^ unit_cmp
|
|
|
|
// don't lint on explicitly written unit expr
|
|
assert_eq!(foo(), ());
|
|
assert_ne!((), ContainsUnit(()).0);
|
|
}
|