From 64d98f8ee037282c35007b64c2649055c56af1db Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Wed, 17 Apr 2024 14:19:03 +0200 Subject: Merging upstream version 1.68.2+dfsg1. Signed-off-by: Daniel Baumann --- tests/ui/pattern/usefulness/issue-31561.stderr | 27 ++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 tests/ui/pattern/usefulness/issue-31561.stderr (limited to 'tests/ui/pattern/usefulness/issue-31561.stderr') diff --git a/tests/ui/pattern/usefulness/issue-31561.stderr b/tests/ui/pattern/usefulness/issue-31561.stderr new file mode 100644 index 000000000..5367de5e5 --- /dev/null +++ b/tests/ui/pattern/usefulness/issue-31561.stderr @@ -0,0 +1,27 @@ +error[E0005]: refutable pattern in local binding + --> $DIR/issue-31561.rs:8:9 + | +LL | let Thing::Foo(y) = Thing::Foo(1); + | ^^^^^^^^^^^^^ patterns `Thing::Bar` and `Thing::Baz` not covered + | + = note: `let` bindings require an "irrefutable pattern", like a `struct` or an `enum` with only one variant + = note: for more information, visit https://doc.rust-lang.org/book/ch18-02-refutability.html +note: `Thing` defined here + --> $DIR/issue-31561.rs:1:6 + | +LL | enum Thing { + | ^^^^^ +LL | Foo(u8), +LL | Bar, + | --- not covered +LL | Baz + | --- not covered + = note: the matched value is of type `Thing` +help: you might want to use `let else` to handle the variants that aren't matched + | +LL | let Thing::Foo(y) = Thing::Foo(1) else { todo!() }; + | ++++++++++++++++ + +error: aborting due to previous error + +For more information about this error, try `rustc --explain E0005`. -- cgit v1.2.3