Rollup merge of #88757 - andrewhickman:master, r=jackh726

Suggest wapping expr in parentheses on invalid unary negation

Fixes #88701
This commit is contained in:
Jubilee 2021-09-11 08:23:42 -07:00 committed by GitHub
commit 08cbb7dbe1
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 79 additions and 36 deletions

View file

@ -32,4 +32,9 @@ fn moo(x: u32) -> bool {
}) > 0 //~ ERROR expected expression
}
fn qux() -> u32 {
({2}) - 2 //~ ERROR cannot apply unary operator `-` to type `u32`
//~^ ERROR mismatched types
}
fn main() {}

View file

@ -32,4 +32,9 @@ fn moo(x: u32) -> bool {
} > 0 //~ ERROR expected expression
}
fn qux() -> u32 {
{2} - 2 //~ ERROR cannot apply unary operator `-` to type `u32`
//~^ ERROR mismatched types
}
fn main() {}

View file

@ -99,7 +99,29 @@ help: parentheses are required to parse this as an expression
LL | ({ 3 }) * 3
| + +
error: aborting due to 9 previous errors
error[E0308]: mismatched types
--> $DIR/expr-as-stmt.rs:36:6
|
LL | {2} - 2
| ^ expected `()`, found integer
|
help: you might have meant to return this value
|
LL | {return 2;} - 2
| ++++++ +
Some errors have detailed explanations: E0308, E0614.
error[E0600]: cannot apply unary operator `-` to type `u32`
--> $DIR/expr-as-stmt.rs:36:9
|
LL | {2} - 2
| ^^^ cannot apply unary operator `-`
|
help: parentheses are required to parse this as an expression
|
LL | ({2}) - 2
| + +
error: aborting due to 11 previous errors
Some errors have detailed explanations: E0308, E0600, E0614.
For more information about an error, try `rustc --explain E0308`.