]> git.lizzy.rs Git - rust.git/blobdiff - tests/ui/precedence.rs
Move MSRV tests into the lint specific test files
[rust.git] / tests / ui / precedence.rs
index 95476dd4f516bdea02f07e21452a06816c009a94..8c849e3209b088909668d26df45246472be9defc 100644 (file)
@@ -1,17 +1,16 @@
-#![feature(tool_lints)]
-
-
-#[warn(clippy::precedence)]
-#[allow(clippy::identity_op)]
-#[allow(clippy::eq_op)]
+// run-rustfix
+#![warn(clippy::precedence)]
+#![allow(unused_must_use, clippy::no_effect, clippy::unnecessary_operation)]
+#![allow(clippy::identity_op)]
+#![allow(clippy::eq_op)]
 
 macro_rules! trip {
-   ($a:expr) => {
-    match $a & 0b1111_1111i8 {
-        0 => println!("a is zero ({})", $a),
-        _ => println!("a is {}", $a),
-    }
-   };
+    ($a:expr) => {
+        match $a & 0b1111_1111u8 {
+            0 => println!("a is zero ({})", $a),
+            _ => println!("a is {}", $a),
+        }
+    };
 }
 
 fn main() {
@@ -33,6 +32,30 @@ fn main() {
     let _ = -(1i32.abs());
     let _ = -(1f32.abs());
 
+    // Odd functions should not trigger an error
+    let _ = -1f64.asin();
+    let _ = -1f64.asinh();
+    let _ = -1f64.atan();
+    let _ = -1f64.atanh();
+    let _ = -1f64.cbrt();
+    let _ = -1f64.fract();
+    let _ = -1f64.round();
+    let _ = -1f64.signum();
+    let _ = -1f64.sin();
+    let _ = -1f64.sinh();
+    let _ = -1f64.tan();
+    let _ = -1f64.tanh();
+    let _ = -1f64.to_degrees();
+    let _ = -1f64.to_radians();
+
+    // Chains containing any non-odd function should trigger (issue #5924)
+    let _ = -1.0_f64.cos().cos();
+    let _ = -1.0_f64.cos().sin();
+    let _ = -1.0_f64.sin().cos();
+
+    // Chains of odd functions shouldn't trigger
+    let _ = -1f64.sin().sin();
+
     let b = 3;
     trip!(b * 8);
 }