about summary refs log tree commit diff
path: root/tests/ui/pattern
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/pattern')
-rw-r--r--tests/ui/pattern/issue-94866.rs14
-rw-r--r--tests/ui/pattern/issue-94866.stderr21
2 files changed, 35 insertions, 0 deletions
diff --git a/tests/ui/pattern/issue-94866.rs b/tests/ui/pattern/issue-94866.rs
new file mode 100644
index 00000000000..c4203487936
--- /dev/null
+++ b/tests/ui/pattern/issue-94866.rs
@@ -0,0 +1,14 @@
+macro_rules! m {
+    () => {
+        {}
+    };
+}
+
+enum Enum { A, B }
+
+fn main() {
+    match Enum::A {
+    //~^ ERROR non-exhaustive patterns
+    Enum::A => m!()
+    }
+}
diff --git a/tests/ui/pattern/issue-94866.stderr b/tests/ui/pattern/issue-94866.stderr
new file mode 100644
index 00000000000..b3c17ce8974
--- /dev/null
+++ b/tests/ui/pattern/issue-94866.stderr
@@ -0,0 +1,21 @@
+error[E0004]: non-exhaustive patterns: `Enum::B` not covered
+  --> $DIR/issue-94866.rs:10:11
+   |
+LL |     match Enum::A {
+   |           ^^^^^^^ pattern `Enum::B` not covered
+   |
+note: `Enum` defined here
+  --> $DIR/issue-94866.rs:7:16
+   |
+LL | enum Enum { A, B }
+   |      ----      ^ not covered
+   = note: the matched value is of type `Enum`
+help: ensure that all possible cases are being handled by adding a match arm with a wildcard pattern or an explicit pattern as shown
+   |
+LL ~     Enum::A => m!(),
+LL +     Enum::B => todo!()
+   |
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0004`.