suggest MAX constant if -1 is assigned to unsigned type
This commit is contained in:
parent
a585aaefb6
commit
ced11a83cb
4 changed files with 70 additions and 1 deletions
|
|
@ -2,7 +2,10 @@ error[E0600]: cannot apply unary operator `-` to type `usize`
|
|||
--> $DIR/feature-gate-negate-unsigned.rs:10:23
|
||||
|
|
||||
LL | let _max: usize = -1;
|
||||
| ^^ cannot apply unary operator `-`
|
||||
| ^^
|
||||
| |
|
||||
| cannot apply unary operator `-`
|
||||
| help: you may have meant the maximum value of `usize`: `usize::MAX`
|
||||
|
|
||||
= note: unsigned values cannot be negated
|
||||
|
||||
|
|
|
|||
5
src/test/ui/unsigned-literal-negation.rs
Normal file
5
src/test/ui/unsigned-literal-negation.rs
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
fn main() {
|
||||
let x = -1 as usize; //~ ERROR: cannot apply unary operator `-`
|
||||
let x = (-1) as usize; //~ ERROR: cannot apply unary operator `-`
|
||||
let x: u32 = -1; //~ ERROR: cannot apply unary operator `-`
|
||||
}
|
||||
36
src/test/ui/unsigned-literal-negation.stderr
Normal file
36
src/test/ui/unsigned-literal-negation.stderr
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
error[E0600]: cannot apply unary operator `-` to type `usize`
|
||||
--> $DIR/unsigned-literal-negation.rs:2:13
|
||||
|
|
||||
LL | let x = -1 as usize;
|
||||
| ^^
|
||||
| |
|
||||
| cannot apply unary operator `-`
|
||||
| help: you may have meant the maximum value of `usize`: `usize::MAX`
|
||||
|
|
||||
= note: unsigned values cannot be negated
|
||||
|
||||
error[E0600]: cannot apply unary operator `-` to type `usize`
|
||||
--> $DIR/unsigned-literal-negation.rs:3:13
|
||||
|
|
||||
LL | let x = (-1) as usize;
|
||||
| ^^^^
|
||||
| |
|
||||
| cannot apply unary operator `-`
|
||||
| help: you may have meant the maximum value of `usize`: `usize::MAX`
|
||||
|
|
||||
= note: unsigned values cannot be negated
|
||||
|
||||
error[E0600]: cannot apply unary operator `-` to type `u32`
|
||||
--> $DIR/unsigned-literal-negation.rs:4:18
|
||||
|
|
||||
LL | let x: u32 = -1;
|
||||
| ^^
|
||||
| |
|
||||
| cannot apply unary operator `-`
|
||||
| help: you may have meant the maximum value of `u32`: `u32::MAX`
|
||||
|
|
||||
= note: unsigned values cannot be negated
|
||||
|
||||
error: aborting due to 3 previous errors
|
||||
|
||||
For more information about this error, try `rustc --explain E0600`.
|
||||
Loading…
Add table
Add a link
Reference in a new issue