Suggest dereferencing boolean reference when used in 'if' or 'while'
Change-Id: I0c5c4d767be2647e6f017ae7bf83558c56dbca97
This commit is contained in:
parent
0b0aeaca43
commit
8a164acf58
2 changed files with 80 additions and 12 deletions
|
|
@ -2,7 +2,10 @@ error[E0308]: mismatched types
|
|||
--> $DIR/if-no-match-bindings.rs:18:8
|
||||
|
|
||||
LL | if b_ref() {}
|
||||
| ^^^^^^^ expected bool, found &bool
|
||||
| ^^^^^^^
|
||||
| |
|
||||
| expected bool, found &bool
|
||||
| help: consider dereferencing the borrow: `*b_ref()`
|
||||
|
|
||||
= note: expected type `bool`
|
||||
found type `&bool`
|
||||
|
|
@ -11,7 +14,10 @@ error[E0308]: mismatched types
|
|||
--> $DIR/if-no-match-bindings.rs:19:8
|
||||
|
|
||||
LL | if b_mut_ref() {}
|
||||
| ^^^^^^^^^^^ expected bool, found &mut bool
|
||||
| ^^^^^^^^^^^
|
||||
| |
|
||||
| expected bool, found &mut bool
|
||||
| help: consider dereferencing the borrow: `*b_mut_ref()`
|
||||
|
|
||||
= note: expected type `bool`
|
||||
found type `&mut bool`
|
||||
|
|
@ -20,7 +26,10 @@ error[E0308]: mismatched types
|
|||
--> $DIR/if-no-match-bindings.rs:20:8
|
||||
|
|
||||
LL | if &true {}
|
||||
| ^^^^^ expected bool, found &bool
|
||||
| ^^^^^
|
||||
| |
|
||||
| expected bool, found &bool
|
||||
| help: consider dereferencing the borrow: `*&true`
|
||||
|
|
||||
= note: expected type `bool`
|
||||
found type `&bool`
|
||||
|
|
@ -29,7 +38,10 @@ error[E0308]: mismatched types
|
|||
--> $DIR/if-no-match-bindings.rs:21:8
|
||||
|
|
||||
LL | if &mut true {}
|
||||
| ^^^^^^^^^ expected bool, found &mut bool
|
||||
| ^^^^^^^^^
|
||||
| |
|
||||
| expected bool, found &mut bool
|
||||
| help: consider dereferencing the borrow: `*&mut true`
|
||||
|
|
||||
= note: expected type `bool`
|
||||
found type `&mut bool`
|
||||
|
|
@ -38,7 +50,10 @@ error[E0308]: mismatched types
|
|||
--> $DIR/if-no-match-bindings.rs:24:11
|
||||
|
|
||||
LL | while b_ref() {}
|
||||
| ^^^^^^^ expected bool, found &bool
|
||||
| ^^^^^^^
|
||||
| |
|
||||
| expected bool, found &bool
|
||||
| help: consider dereferencing the borrow: `*b_ref()`
|
||||
|
|
||||
= note: expected type `bool`
|
||||
found type `&bool`
|
||||
|
|
@ -47,7 +62,10 @@ error[E0308]: mismatched types
|
|||
--> $DIR/if-no-match-bindings.rs:25:11
|
||||
|
|
||||
LL | while b_mut_ref() {}
|
||||
| ^^^^^^^^^^^ expected bool, found &mut bool
|
||||
| ^^^^^^^^^^^
|
||||
| |
|
||||
| expected bool, found &mut bool
|
||||
| help: consider dereferencing the borrow: `*b_mut_ref()`
|
||||
|
|
||||
= note: expected type `bool`
|
||||
found type `&mut bool`
|
||||
|
|
@ -55,8 +73,11 @@ LL | while b_mut_ref() {}
|
|||
error[E0308]: mismatched types
|
||||
--> $DIR/if-no-match-bindings.rs:26:11
|
||||
|
|
||||
LL | while &true {}
|
||||
| ^^^^^ expected bool, found &bool
|
||||
26 | while &true {}
|
||||
| ^^^^^
|
||||
| |
|
||||
| expected bool, found &bool
|
||||
| help: consider dereferencing the borrow: `*&true`
|
||||
|
|
||||
= note: expected type `bool`
|
||||
found type `&bool`
|
||||
|
|
@ -64,8 +85,11 @@ LL | while &true {}
|
|||
error[E0308]: mismatched types
|
||||
--> $DIR/if-no-match-bindings.rs:27:11
|
||||
|
|
||||
LL | while &mut true {}
|
||||
| ^^^^^^^^^ expected bool, found &mut bool
|
||||
27 | while &mut true {}
|
||||
| ^^^^^^^^^
|
||||
| |
|
||||
| expected bool, found &mut bool
|
||||
| help: consider dereferencing the borrow: `*&mut true`
|
||||
|
|
||||
= note: expected type `bool`
|
||||
found type `&mut bool`
|
||||
|
|
|
|||
|
|
@ -513,11 +513,52 @@ warning: the feature `let_chains` is incomplete and may cause the compiler to cr
|
|||
LL | #![feature(let_chains)] // Avoid inflating `.stderr` with overzealous gates in this test.
|
||||
| ^^^^^^^^^^
|
||||
|
||||
warning: unnecessary parentheses around `if` condition
|
||||
--> $DIR/disallowed-positions.rs:51:8
|
||||
|
|
||||
LL | if (true || let 0 = 0) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
|
||||
|
|
||||
= note: `#[warn(unused_parens)]` on by default
|
||||
|
||||
warning: unnecessary parentheses around `while` condition
|
||||
--> $DIR/disallowed-positions.rs:115:11
|
||||
|
|
||||
LL | while (true || let 0 = 0) {}
|
||||
| ^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
|
||||
|
||||
wrning: unnecessary parentheses around `let` head expression
|
||||
--> $DIR/disallowed-positions.rs:160:41
|
||||
|
|
||||
LL | if let Range { start: _, end: _ } = (true..true || false) { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
|
||||
|
||||
warning: unnecessary parentheses around `let` head expression
|
||||
--> $DIR/disallowed-positions.rs:162:41
|
||||
|
|
||||
LL | if let Range { start: _, end: _ } = (true..true && false) { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
|
||||
|
||||
warning: unnecessary parentheses around `let` head expression
|
||||
--> $DIR/disallowed-positions.rs:164:44
|
||||
|
|
||||
LL | while let Range { start: _, end: _ } = (true..true || false) { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
|
||||
|
||||
warning: unnecessary parentheses around `let` head expression
|
||||
--> $DIR/disallowed-positions.rs:166:44
|
||||
|
|
||||
LL | while let Range { start: _, end: _ } = (true..true && false) { }
|
||||
| ^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses
|
||||
|
||||
error[E0308]: mismatched types
|
||||
--> $DIR/disallowed-positions.rs:32:8
|
||||
|
|
||||
LL | if &let 0 = 0 {}
|
||||
| ^^^^^^^^^^ expected bool, found &bool
|
||||
| ^^^^^^^^^^
|
||||
| |
|
||||
| expected bool, found &bool
|
||||
| help: consider dereferencing the borrow: `*&let 0 = 0`
|
||||
|
|
||||
= note: expected type `bool`
|
||||
found type `&bool`
|
||||
|
|
@ -702,7 +743,10 @@ error[E0308]: mismatched types
|
|||
--> $DIR/disallowed-positions.rs:96:11
|
||||
|
|
||||
LL | while &let 0 = 0 {}
|
||||
| ^^^^^^^^^^ expected bool, found &bool
|
||||
| ^^^^^^^^^^
|
||||
| |
|
||||
| expected bool, found &bool
|
||||
| help: consider dereferencing the borrow: `*&let 0 = 0`
|
||||
|
|
||||
= note: expected type `bool`
|
||||
found type `&bool`
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue