manual_let_else: only add () around PatKind::Or at the top level

At the top level, () are required, but on the levels below they are not.
This commit is contained in:
est31 2023-06-01 18:55:24 +02:00
parent 652b4c720d
commit 0a7366897d
3 changed files with 25 additions and 6 deletions

View file

@ -72,6 +72,11 @@ fn fire() {
_ => return,
};
let _value = match Some(build_enum()) {
Some(Variant::Bar(v) | Variant::Baz(v)) => v,
_ => return,
};
let data = [1_u8, 2, 3, 4, 0, 0, 0, 0];
let data = match data.as_slice() {
[data @ .., 0, 0, 0, 0] | [data @ .., 0, 0] | [data @ .., 0] => data,

View file

@ -64,7 +64,16 @@ LL | | };
| |______^ help: consider writing: `let (Variant::Bar(_value) | Variant::Baz(_value)) = f else { return };`
error: this could be rewritten as `let...else`
--> $DIR/manual_let_else_match.rs:76:5
--> $DIR/manual_let_else_match.rs:75:5
|
LL | / let _value = match Some(build_enum()) {
LL | | Some(Variant::Bar(v) | Variant::Baz(v)) => v,
LL | | _ => return,
LL | | };
| |______^ help: consider writing: `let Some(Variant::Bar(_value) | Variant::Baz(_value)) = Some(build_enum()) else { return };`
error: this could be rewritten as `let...else`
--> $DIR/manual_let_else_match.rs:81:5
|
LL | / let data = match data.as_slice() {
LL | | [data @ .., 0, 0, 0, 0] | [data @ .., 0, 0] | [data @ .., 0] => data,
@ -72,5 +81,5 @@ LL | | _ => return,
LL | | };
| |______^ help: consider writing: `let ([data @ .., 0, 0, 0, 0] | [data @ .., 0, 0] | [data @ .., 0]) = data.as_slice() else { return };`
error: aborting due to 8 previous errors
error: aborting due to 9 previous errors