Rollup merge of #88411 - Aaron1011:remove-session-if-let, r=estebank
Remove `Session.if_let_suggestions` We can instead if either the LHS or RHS types contain `TyKind::Error`. In addition to covering the case where we would have previously updated `if_let_suggestions`, this might also prevent redundant errors in other cases as well.
This commit is contained in:
commit
b7388024eb
5 changed files with 17 additions and 9 deletions
|
|
@ -10,4 +10,5 @@ fn main() {
|
|||
if Some(3) = foo {} //~ ERROR mismatched types
|
||||
//~^ ERROR destructuring assignments are unstable
|
||||
//~^^ ERROR invalid left-hand side of assignment
|
||||
if x = 5 {} //~ ERROR cannot find value `x` in this scope
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,17 @@ help: you might have meant to use pattern matching
|
|||
LL | if let Some(x) = foo {}
|
||||
| +++
|
||||
|
||||
error[E0425]: cannot find value `x` in this scope
|
||||
--> $DIR/if-let-typo.rs:13:8
|
||||
|
|
||||
LL | if x = 5 {}
|
||||
| ^ not found in this scope
|
||||
|
|
||||
help: you might have meant to use pattern matching
|
||||
|
|
||||
LL | if let x = 5 {}
|
||||
| +++
|
||||
|
||||
error[E0658]: destructuring assignments are unstable
|
||||
--> $DIR/if-let-typo.rs:4:16
|
||||
|
|
||||
|
|
@ -79,7 +90,7 @@ error[E0308]: mismatched types
|
|||
LL | if Some(3) = foo {}
|
||||
| ^^^^^^^^^^^^^ expected `bool`, found `()`
|
||||
|
||||
error: aborting due to 9 previous errors
|
||||
error: aborting due to 10 previous errors
|
||||
|
||||
Some errors have detailed explanations: E0070, E0308, E0425, E0658.
|
||||
For more information about an error, try `rustc --explain E0070`.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue