4a39707795
Because the `if .. {}` statement already puts the condition in expression scope, contained blocks would be parsed as complete statements, so any `&` binary expression whose left operand ended in a block would lead to a non-compiling suggestion. This adds a visitor to identify such expressions and add parentheses. This fixes #8052.
134 lines
3.7 KiB
Plaintext
134 lines
3.7 KiB
Plaintext
error: this if-then-else expression returns a bool literal
|
|
--> $DIR/fixable.rs:41:5
|
|
|
|
|
LL | / if x {
|
|
LL | | true
|
|
LL | | } else {
|
|
LL | | false
|
|
LL | | };
|
|
| |_____^ help: you can reduce it to: `x`
|
|
|
|
|
= note: `-D clippy::needless-bool` implied by `-D warnings`
|
|
|
|
error: this if-then-else expression returns a bool literal
|
|
--> $DIR/fixable.rs:46:5
|
|
|
|
|
LL | / if x {
|
|
LL | | false
|
|
LL | | } else {
|
|
LL | | true
|
|
LL | | };
|
|
| |_____^ help: you can reduce it to: `!x`
|
|
|
|
error: this if-then-else expression returns a bool literal
|
|
--> $DIR/fixable.rs:51:5
|
|
|
|
|
LL | / if x && y {
|
|
LL | | false
|
|
LL | | } else {
|
|
LL | | true
|
|
LL | | };
|
|
| |_____^ help: you can reduce it to: `!(x && y)`
|
|
|
|
error: this if-then-else expression returns a bool literal
|
|
--> $DIR/fixable.rs:72:5
|
|
|
|
|
LL | / if x {
|
|
LL | | return true;
|
|
LL | | } else {
|
|
LL | | return false;
|
|
LL | | };
|
|
| |_____^ help: you can reduce it to: `return x`
|
|
|
|
error: this if-then-else expression returns a bool literal
|
|
--> $DIR/fixable.rs:80:5
|
|
|
|
|
LL | / if x {
|
|
LL | | return false;
|
|
LL | | } else {
|
|
LL | | return true;
|
|
LL | | };
|
|
| |_____^ help: you can reduce it to: `return !x`
|
|
|
|
error: this if-then-else expression returns a bool literal
|
|
--> $DIR/fixable.rs:88:5
|
|
|
|
|
LL | / if x && y {
|
|
LL | | return true;
|
|
LL | | } else {
|
|
LL | | return false;
|
|
LL | | };
|
|
| |_____^ help: you can reduce it to: `return x && y`
|
|
|
|
error: this if-then-else expression returns a bool literal
|
|
--> $DIR/fixable.rs:96:5
|
|
|
|
|
LL | / if x && y {
|
|
LL | | return false;
|
|
LL | | } else {
|
|
LL | | return true;
|
|
LL | | };
|
|
| |_____^ help: you can reduce it to: `return !(x && y)`
|
|
|
|
error: equality checks against true are unnecessary
|
|
--> $DIR/fixable.rs:104:8
|
|
|
|
|
LL | if x == true {};
|
|
| ^^^^^^^^^ help: try simplifying it as shown: `x`
|
|
|
|
|
= note: `-D clippy::bool-comparison` implied by `-D warnings`
|
|
|
|
error: equality checks against false can be replaced by a negation
|
|
--> $DIR/fixable.rs:108:8
|
|
|
|
|
LL | if x == false {};
|
|
| ^^^^^^^^^^ help: try simplifying it as shown: `!x`
|
|
|
|
error: equality checks against true are unnecessary
|
|
--> $DIR/fixable.rs:118:8
|
|
|
|
|
LL | if x == true {};
|
|
| ^^^^^^^^^ help: try simplifying it as shown: `x`
|
|
|
|
error: equality checks against false can be replaced by a negation
|
|
--> $DIR/fixable.rs:119:8
|
|
|
|
|
LL | if x == false {};
|
|
| ^^^^^^^^^^ help: try simplifying it as shown: `!x`
|
|
|
|
error: this if-then-else expression returns a bool literal
|
|
--> $DIR/fixable.rs:128:12
|
|
|
|
|
LL | } else if returns_bool() {
|
|
| ____________^
|
|
LL | | false
|
|
LL | | } else {
|
|
LL | | true
|
|
LL | | };
|
|
| |_____^ help: you can reduce it to: `{ !returns_bool() }`
|
|
|
|
error: this if-then-else expression returns a bool literal
|
|
--> $DIR/fixable.rs:141:5
|
|
|
|
|
LL | / if unsafe { no(4) } & 1 != 0 {
|
|
LL | | true
|
|
LL | | } else {
|
|
LL | | false
|
|
LL | | };
|
|
| |_____^ help: you can reduce it to: `(unsafe { no(4) } & 1 != 0)`
|
|
|
|
error: this if-then-else expression returns a bool literal
|
|
--> $DIR/fixable.rs:146:30
|
|
|
|
|
LL | let _brackets_unneeded = if unsafe { no(4) } & 1 != 0 { true } else { false };
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `unsafe { no(4) } & 1 != 0`
|
|
|
|
error: this if-then-else expression returns a bool literal
|
|
--> $DIR/fixable.rs:149:9
|
|
|
|
|
LL | if unsafe { no(4) } & 1 != 0 { true } else { false }
|
|
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: you can reduce it to: `(unsafe { no(4) } & 1 != 0)`
|
|
|
|
error: aborting due to 15 previous errors
|
|
|