mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-27 23:20:39 +00:00
ef38662d04
* Replace variables inside | patterns in the if let: let v = if let V::A(v) | V::B(v) = v { v } else ... * Support nested patterns: let v = if let Ok(Ok(Ok(v))) = v { v } else ... * Support tuple structs with more than one arg: let v = V::W(v, _) = v { v } else ... * Correctly handle .. in tuple struct patterns: let v = V::X(v, ..) = v { v } else ...
76 lines
2.7 KiB
Text
76 lines
2.7 KiB
Text
error: this could be rewritten as `let...else`
|
|
--> $DIR/manual_let_else_match.rs:32:5
|
|
|
|
|
LL | / let v = match g() {
|
|
LL | | Some(v_some) => v_some,
|
|
LL | | None => return,
|
|
LL | | };
|
|
| |______^ help: consider writing: `let Some(v) = g() else { return };`
|
|
|
|
|
= note: `-D clippy::manual-let-else` implied by `-D warnings`
|
|
|
|
error: this could be rewritten as `let...else`
|
|
--> $DIR/manual_let_else_match.rs:37:5
|
|
|
|
|
LL | / let v = match g() {
|
|
LL | | Some(v_some) => v_some,
|
|
LL | | _ => return,
|
|
LL | | };
|
|
| |______^ help: consider writing: `let Some(v) = g() else { return };`
|
|
|
|
error: this could be rewritten as `let...else`
|
|
--> $DIR/manual_let_else_match.rs:44:9
|
|
|
|
|
LL | / let v = match h() {
|
|
LL | | (Some(v), None) | (None, Some(v)) => v,
|
|
LL | | (Some(_), Some(_)) | (None, None) => continue,
|
|
LL | | };
|
|
| |__________^ help: consider writing: `let ((Some(v), None) | (None, Some(v))) = h() else { continue };`
|
|
|
|
error: this could be rewritten as `let...else`
|
|
--> $DIR/manual_let_else_match.rs:49:9
|
|
|
|
|
LL | / let v = match build_enum() {
|
|
LL | | Variant::Bar(v) | Variant::Baz(v) => v,
|
|
LL | | _ => continue,
|
|
LL | | };
|
|
| |__________^ help: consider writing: `let (Variant::Bar(v) | Variant::Baz(v)) = build_enum() else { continue };`
|
|
|
|
error: this could be rewritten as `let...else`
|
|
--> $DIR/manual_let_else_match.rs:57:5
|
|
|
|
|
LL | / let v = match f() {
|
|
LL | | Ok(v) => v,
|
|
LL | | Err(_) => return,
|
|
LL | | };
|
|
| |______^ help: consider writing: `let Ok(v) = f() else { return };`
|
|
|
|
error: this could be rewritten as `let...else`
|
|
--> $DIR/manual_let_else_match.rs:63:5
|
|
|
|
|
LL | / let v = match f().map_err(|_| ()) {
|
|
LL | | Ok(v) => v,
|
|
LL | | Err(()) => return,
|
|
LL | | };
|
|
| |______^ help: consider writing: `let Ok(v) = f().map_err(|_| ()) else { return };`
|
|
|
|
error: this could be rewritten as `let...else`
|
|
--> $DIR/manual_let_else_match.rs:70:5
|
|
|
|
|
LL | / let _value = match f {
|
|
LL | | Variant::Bar(v) | Variant::Baz(v) => v,
|
|
LL | | _ => return,
|
|
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
|
|
|
|
|
LL | / let data = match data.as_slice() {
|
|
LL | | [data @ .., 0, 0, 0, 0] | [data @ .., 0, 0] | [data @ .., 0] => data,
|
|
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
|
|
|