about summary refs log tree commit diff
diff options
context:
space:
mode:
authorMatthias Krüger <matthias.krueger@famsik.de>2024-04-21 21:31:21 +0200
committerMatthias Krüger <matthias.krueger@famsik.de>2024-04-21 22:00:38 +0200
commit751f662b703d27e028769722a8a47e02d3948b2d (patch)
tree1bc19f9b91b309a6a8932dce8259a2360bbd5cf8
parent28f60ff9a4f11432ad5c2910a706522f04e0f3b6 (diff)
downloadrust-751f662b703d27e028769722a8a47e02d3948b2d.tar.gz
rust-751f662b703d27e028769722a8a47e02d3948b2d.zip
add test for ice #121463
Fixes #121463
-rw-r--r--tests/ui/borrowck/non-ADT-struct-pattern-box-pattern-ice-121463.rs12
-rw-r--r--tests/ui/borrowck/non-ADT-struct-pattern-box-pattern-ice-121463.stderr21
2 files changed, 33 insertions, 0 deletions
diff --git a/tests/ui/borrowck/non-ADT-struct-pattern-box-pattern-ice-121463.rs b/tests/ui/borrowck/non-ADT-struct-pattern-box-pattern-ice-121463.rs
new file mode 100644
index 00000000000..cf927e34fb4
--- /dev/null
+++ b/tests/ui/borrowck/non-ADT-struct-pattern-box-pattern-ice-121463.rs
@@ -0,0 +1,12 @@
+// issue rust-lang/rust#121463
+// ICE non-ADT in struct pattern
+#![feature(box_patterns)]
+
+fn main() {
+    let mut a = E::StructVar { boxed: Box::new(5_i32) };
+    //~^ ERROR failed to resolve: use of undeclared type `E`
+    match a {
+        E::StructVar { box boxed } => { }
+        //~^ ERROR failed to resolve: use of undeclared type `E`
+    }
+}
diff --git a/tests/ui/borrowck/non-ADT-struct-pattern-box-pattern-ice-121463.stderr b/tests/ui/borrowck/non-ADT-struct-pattern-box-pattern-ice-121463.stderr
new file mode 100644
index 00000000000..349546606a5
--- /dev/null
+++ b/tests/ui/borrowck/non-ADT-struct-pattern-box-pattern-ice-121463.stderr
@@ -0,0 +1,21 @@
+error[E0433]: failed to resolve: use of undeclared type `E`
+  --> $DIR/non-ADT-struct-pattern-box-pattern-ice-121463.rs:6:17
+   |
+LL |     let mut a = E::StructVar { boxed: Box::new(5_i32) };
+   |                 ^
+   |                 |
+   |                 use of undeclared type `E`
+   |                 help: a trait with a similar name exists: `Eq`
+
+error[E0433]: failed to resolve: use of undeclared type `E`
+  --> $DIR/non-ADT-struct-pattern-box-pattern-ice-121463.rs:9:9
+   |
+LL |         E::StructVar { box boxed } => { }
+   |         ^
+   |         |
+   |         use of undeclared type `E`
+   |         help: a trait with a similar name exists: `Eq`
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0433`.