about summary refs log tree commit diff
path: root/tests/ui/overly_complex_bool_expr.fixed
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/overly_complex_bool_expr.fixed')
-rw-r--r--tests/ui/overly_complex_bool_expr.fixed39
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/ui/overly_complex_bool_expr.fixed b/tests/ui/overly_complex_bool_expr.fixed
new file mode 100644
index 00000000000..e44f6063156
--- /dev/null
+++ b/tests/ui/overly_complex_bool_expr.fixed
@@ -0,0 +1,39 @@
+#![feature(lint_reasons)]
+#![allow(unused, clippy::diverging_sub_expression)]
+#![warn(clippy::overly_complex_bool_expr)]
+
+fn main() {
+    let a: bool = unimplemented!();
+    let b: bool = unimplemented!();
+    let c: bool = unimplemented!();
+    let d: bool = unimplemented!();
+    let e: bool = unimplemented!();
+    let _ = a;
+    //~^ ERROR: this boolean expression contains a logic bug
+    let _ = !(a && b);
+    let _ = false;
+    //~^ ERROR: this boolean expression contains a logic bug
+    // don't lint on cfgs
+    let _ = cfg!(you_shall_not_not_pass) && a;
+    let _ = a || !b || !c || !d || !e;
+    let _ = !(a && b || c);
+}
+
+fn equality_stuff() {
+    let a: i32 = unimplemented!();
+    let b: i32 = unimplemented!();
+    let _ = false;
+    //~^ ERROR: this boolean expression contains a logic bug
+    let _ = false;
+    //~^ ERROR: this boolean expression contains a logic bug
+    let _ = false;
+    //~^ ERROR: this boolean expression contains a logic bug
+    let _ = a > b && a == b;
+}
+
+fn check_expect() {
+    let a: i32 = unimplemented!();
+    let b: i32 = unimplemented!();
+    #[expect(clippy::overly_complex_bool_expr)]
+    let _ = a < b && a >= b;
+}