Make must_use lint cover all binary/unary operators
This commit is contained in:
parent
222551f3f3
commit
91aa267eda
6 changed files with 224 additions and 15 deletions
52
src/test/ui/lint/must-use-ops.rs
Normal file
52
src/test/ui/lint/must-use-ops.rs
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
|
||||
// file at the top-level directory of this distribution and at
|
||||
// http://rust-lang.org/COPYRIGHT.
|
||||
//
|
||||
// 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.
|
||||
|
||||
// Issue #50124 - Test warning for unused operator expressions
|
||||
|
||||
// compile-pass
|
||||
|
||||
#![feature(fn_must_use)]
|
||||
#![warn(unused_must_use)]
|
||||
|
||||
fn main() {
|
||||
let val = 1;
|
||||
let val_pointer = &val;
|
||||
|
||||
// Comparison Operators
|
||||
val == 1;
|
||||
val < 1;
|
||||
val <= 1;
|
||||
val != 1;
|
||||
val >= 1;
|
||||
val > 1;
|
||||
|
||||
// Arithmetic Operators
|
||||
val + 2;
|
||||
val - 2;
|
||||
val / 2;
|
||||
val * 2;
|
||||
val % 2;
|
||||
|
||||
// Logical Operators
|
||||
true && true;
|
||||
false || true;
|
||||
|
||||
// Bitwise Operators
|
||||
5 ^ val;
|
||||
5 & val;
|
||||
5 | val;
|
||||
5 << val;
|
||||
5 >> val;
|
||||
|
||||
// Unary Operators
|
||||
!val;
|
||||
-val;
|
||||
*val_pointer;
|
||||
}
|
||||
132
src/test/ui/lint/must-use-ops.stderr
Normal file
132
src/test/ui/lint/must-use-ops.stderr
Normal file
|
|
@ -0,0 +1,132 @@
|
|||
warning: unused comparison which must be used
|
||||
--> $DIR/must-use-ops.rs:23:5
|
||||
|
|
||||
LL | val == 1;
|
||||
| ^^^^^^^^
|
||||
|
|
||||
note: lint level defined here
|
||||
--> $DIR/must-use-ops.rs:16:9
|
||||
|
|
||||
LL | #![warn(unused_must_use)]
|
||||
| ^^^^^^^^^^^^^^^
|
||||
|
||||
warning: unused comparison which must be used
|
||||
--> $DIR/must-use-ops.rs:24:5
|
||||
|
|
||||
LL | val < 1;
|
||||
| ^^^^^^^
|
||||
|
||||
warning: unused comparison which must be used
|
||||
--> $DIR/must-use-ops.rs:25:5
|
||||
|
|
||||
LL | val <= 1;
|
||||
| ^^^^^^^^
|
||||
|
||||
warning: unused comparison which must be used
|
||||
--> $DIR/must-use-ops.rs:26:5
|
||||
|
|
||||
LL | val != 1;
|
||||
| ^^^^^^^^
|
||||
|
||||
warning: unused comparison which must be used
|
||||
--> $DIR/must-use-ops.rs:27:5
|
||||
|
|
||||
LL | val >= 1;
|
||||
| ^^^^^^^^
|
||||
|
||||
warning: unused comparison which must be used
|
||||
--> $DIR/must-use-ops.rs:28:5
|
||||
|
|
||||
LL | val > 1;
|
||||
| ^^^^^^^
|
||||
|
||||
warning: unused arithmetic operation which must be used
|
||||
--> $DIR/must-use-ops.rs:31:5
|
||||
|
|
||||
LL | val + 2;
|
||||
| ^^^^^^^
|
||||
|
||||
warning: unused arithmetic operation which must be used
|
||||
--> $DIR/must-use-ops.rs:32:5
|
||||
|
|
||||
LL | val - 2;
|
||||
| ^^^^^^^
|
||||
|
||||
warning: unused arithmetic operation which must be used
|
||||
--> $DIR/must-use-ops.rs:33:5
|
||||
|
|
||||
LL | val / 2;
|
||||
| ^^^^^^^
|
||||
|
||||
warning: unused arithmetic operation which must be used
|
||||
--> $DIR/must-use-ops.rs:34:5
|
||||
|
|
||||
LL | val * 2;
|
||||
| ^^^^^^^
|
||||
|
||||
warning: unused arithmetic operation which must be used
|
||||
--> $DIR/must-use-ops.rs:35:5
|
||||
|
|
||||
LL | val % 2;
|
||||
| ^^^^^^^
|
||||
|
||||
warning: unused logical operation which must be used
|
||||
--> $DIR/must-use-ops.rs:38:5
|
||||
|
|
||||
LL | true && true;
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
warning: unused logical operation which must be used
|
||||
--> $DIR/must-use-ops.rs:39:5
|
||||
|
|
||||
LL | false || true;
|
||||
| ^^^^^^^^^^^^^
|
||||
|
||||
warning: unused bitwise operation which must be used
|
||||
--> $DIR/must-use-ops.rs:42:5
|
||||
|
|
||||
LL | 5 ^ val;
|
||||
| ^^^^^^^
|
||||
|
||||
warning: unused bitwise operation which must be used
|
||||
--> $DIR/must-use-ops.rs:43:5
|
||||
|
|
||||
LL | 5 & val;
|
||||
| ^^^^^^^
|
||||
|
||||
warning: unused bitwise operation which must be used
|
||||
--> $DIR/must-use-ops.rs:44:5
|
||||
|
|
||||
LL | 5 | val;
|
||||
| ^^^^^^^
|
||||
|
||||
warning: unused bitwise operation which must be used
|
||||
--> $DIR/must-use-ops.rs:45:5
|
||||
|
|
||||
LL | 5 << val;
|
||||
| ^^^^^^^^
|
||||
|
||||
warning: unused bitwise operation which must be used
|
||||
--> $DIR/must-use-ops.rs:46:5
|
||||
|
|
||||
LL | 5 >> val;
|
||||
| ^^^^^^^^
|
||||
|
||||
warning: unused unary operation which must be used
|
||||
--> $DIR/must-use-ops.rs:49:5
|
||||
|
|
||||
LL | !val;
|
||||
| ^^^^
|
||||
|
||||
warning: unused unary operation which must be used
|
||||
--> $DIR/must-use-ops.rs:50:5
|
||||
|
|
||||
LL | -val;
|
||||
| ^^^^
|
||||
|
||||
warning: unused unary operation which must be used
|
||||
--> $DIR/must-use-ops.rs:51:5
|
||||
|
|
||||
LL | *val_pointer;
|
||||
| ^^^^^^^^^^^^
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue