]> 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 82009cd3873ae0e80774bbe7a2efde81e4a7e033..8c849e3209b088909668d26df45246472be9defc 100644 (file)
@@ -1,19 +1,12 @@
-// Copyright 2014-2018 The Rust Project Developers. See the COPYRIGHT
-// file at the top-level directory of this distribution.
-//
-// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
-// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
-// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
-// option. This file may not be copied, modified, or distributed
-// except according to those terms.
-
-#[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 {
+        match $a & 0b1111_1111u8 {
             0 => println!("a is zero ({})", $a),
             _ => println!("a is {}", $a),
         }
@@ -39,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);
 }