about summary refs log tree commit diff
diff options
context:
space:
mode:
authorest31 <MTest31@outlook.com>2022-02-21 04:45:40 +0100
committerest31 <MTest31@outlook.com>2022-02-21 04:45:40 +0100
commit5bd71063b3810d977aa376d1e6dd7cec359330cc (patch)
tree6283d26e30b391f7f60b0104aadaa2511849659c
parente7730dcb7eb29a10ee73f269f4dc6e9d606db0da (diff)
downloadrust-5bd71063b3810d977aa376d1e6dd7cec359330cc.tar.gz
rust-5bd71063b3810d977aa376d1e6dd7cec359330cc.zip
Add regression test for #92069
-rw-r--r--src/test/ui/let-else/let-else-slicing-error.rs9
-rw-r--r--src/test/ui/let-else/let-else-slicing-error.stderr11
2 files changed, 20 insertions, 0 deletions
diff --git a/src/test/ui/let-else/let-else-slicing-error.rs b/src/test/ui/let-else/let-else-slicing-error.rs
new file mode 100644
index 00000000000..4022656a8f5
--- /dev/null
+++ b/src/test/ui/let-else/let-else-slicing-error.rs
@@ -0,0 +1,9 @@
+// issue #92069
+#![feature(let_else)]
+
+fn main() {
+    let nums = vec![5, 4, 3, 2, 1];
+    let [x, y] = nums else { //~ ERROR expected an array or slice
+        return;
+    };
+}
diff --git a/src/test/ui/let-else/let-else-slicing-error.stderr b/src/test/ui/let-else/let-else-slicing-error.stderr
new file mode 100644
index 00000000000..064025e0345
--- /dev/null
+++ b/src/test/ui/let-else/let-else-slicing-error.stderr
@@ -0,0 +1,11 @@
+error[E0529]: expected an array or slice, found `Vec<{integer}>`
+  --> $DIR/let-else-slicing-error.rs:6:9
+   |
+LL |     let [x, y] = nums else {
+   |         ^^^^^^   ---- help: consider slicing here: `nums[..]`
+   |         |
+   |         pattern cannot match with input type `Vec<{integer}>`
+
+error: aborting due to previous error
+
+For more information about this error, try `rustc --explain E0529`.