summaryrefslogtreecommitdiffstats
path: root/src/test/ui/lint/unused/must-use-ops.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/lint/unused/must-use-ops.rs')
-rw-r--r--src/test/ui/lint/unused/must-use-ops.rs20
1 files changed, 15 insertions, 5 deletions
diff --git a/src/test/ui/lint/unused/must-use-ops.rs b/src/test/ui/lint/unused/must-use-ops.rs
index 3e425727e..60f877aa8 100644
--- a/src/test/ui/lint/unused/must-use-ops.rs
+++ b/src/test/ui/lint/unused/must-use-ops.rs
@@ -3,12 +3,18 @@
// check-pass
#![warn(unused_must_use)]
+#![feature(never_type)]
+
+fn deref_never(x: &!) {
+ // Don't lint for uninhabited typess
+ *x;
+}
fn main() {
let val = 1;
let val_pointer = &val;
-// Comparison Operators
+ // Comparison Operators
val == 1; //~ WARNING unused comparison
val < 1; //~ WARNING unused comparison
val <= 1; //~ WARNING unused comparison
@@ -16,26 +22,30 @@ fn main() {
val >= 1; //~ WARNING unused comparison
val > 1; //~ WARNING unused comparison
-// Arithmetic Operators
+ // Arithmetic Operators
val + 2; //~ WARNING unused arithmetic operation
val - 2; //~ WARNING unused arithmetic operation
val / 2; //~ WARNING unused arithmetic operation
val * 2; //~ WARNING unused arithmetic operation
val % 2; //~ WARNING unused arithmetic operation
-// Logical Operators
+ // Logical Operators
true && true; //~ WARNING unused logical operation
false || true; //~ WARNING unused logical operation
-// Bitwise Operators
+ // Bitwise Operators
5 ^ val; //~ WARNING unused bitwise operation
5 & val; //~ WARNING unused bitwise operation
5 | val; //~ WARNING unused bitwise operation
5 << val; //~ WARNING unused bitwise operation
5 >> val; //~ WARNING unused bitwise operation
-// Unary Operators
+ // Unary Operators
!val; //~ WARNING unused unary operation
-val; //~ WARNING unused unary operation
*val_pointer; //~ WARNING unused unary operation
+
+ if false {
+ deref_never(&panic!());
+ }
}