// run-rustfix
-#[warn(clippy::bool_comparison)]
+#![warn(clippy::bool_comparison)]
+
fn main() {
let x = true;
if x {
if Foo < false {}
if false < Foo {}
}
+
+#[allow(dead_code)]
+fn issue4983() {
+ let a = true;
+ let b = false;
+
+ if a != b {};
+ if a != b {};
+ if a == b {};
+ if !a == !b {};
+
+ if b != a {};
+ if b != a {};
+ if b == a {};
+ if !b == !a {};
+}
+
+macro_rules! m {
+ ($func:ident) => {
+ $func()
+ };
+}
+
+fn func() -> bool {
+ true
+}
+
+#[allow(dead_code)]
+fn issue3973() {
+ // ok, don't lint on `cfg` invocation
+ if false == cfg!(feature = "debugging") {}
+ if cfg!(feature = "debugging") == false {}
+ if true == cfg!(feature = "debugging") {}
+ if cfg!(feature = "debugging") == true {}
+
+ // lint, could be simplified
+ if !m!(func) {}
+ if !m!(func) {}
+ if m!(func) {}
+ if m!(func) {}
+
+ // no lint with a variable
+ let is_debug = false;
+ if is_debug == cfg!(feature = "debugging") {}
+ if cfg!(feature = "debugging") == is_debug {}
+ if is_debug == m!(func) {}
+ if m!(func) == is_debug {}
+ let is_debug = true;
+ if is_debug == cfg!(feature = "debugging") {}
+ if cfg!(feature = "debugging") == is_debug {}
+ if is_debug == m!(func) {}
+ if m!(func) == is_debug {}
+}