suggest MAX constant if -1 is assigned to unsigned type

This commit is contained in:
Andy Russell 2020-10-05 12:23:36 -04:00
parent a585aaefb6
commit ced11a83cb
No known key found for this signature in database
GPG key ID: BE2221033EDBC374
4 changed files with 70 additions and 1 deletions

View file

@ -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

View 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 `-`
}

View 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`.