about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorest31 <MTest31@outlook.com>2021-10-17 07:02:52 +0200
committerest31 <MTest31@outlook.com>2021-10-17 22:56:29 +0200
commit856541963ce95ef4f7d4a81784bb5002ccf63c93 (patch)
treecd032b60d8588dfbbe769a24512485310c062332 /src
parentc1026539bd22e9d070988deaa47b1360cbc76436 (diff)
downloadrust-856541963ce95ef4f7d4a81784bb5002ccf63c93.tar.gz
rust-856541963ce95ef4f7d4a81784bb5002ccf63c93.zip
Nicer error message if the user attempts to do let...else if
Diffstat (limited to 'src')
-rw-r--r--src/test/ui/let-else/let-else-if.rs10
-rw-r--r--src/test/ui/let-else/let-else-if.stderr18
2 files changed, 28 insertions, 0 deletions
diff --git a/src/test/ui/let-else/let-else-if.rs b/src/test/ui/let-else/let-else-if.rs
new file mode 100644
index 00000000000..c3a17330d6e
--- /dev/null
+++ b/src/test/ui/let-else/let-else-if.rs
@@ -0,0 +1,10 @@
+#![feature(let_else)]
+
+fn main() {
+    let Some(_) = Some(()) else if true {
+        //~^ ERROR conditional `else if` is not supported for `let...else`
+        return;
+    } else {
+        return;
+    };
+}
diff --git a/src/test/ui/let-else/let-else-if.stderr b/src/test/ui/let-else/let-else-if.stderr
new file mode 100644
index 00000000000..38c739fd850
--- /dev/null
+++ b/src/test/ui/let-else/let-else-if.stderr
@@ -0,0 +1,18 @@
+error: conditional `else if` is not supported for `let...else`
+  --> $DIR/let-else-if.rs:4:33
+   |
+LL |     let Some(_) = Some(()) else if true {
+   |                                 ^^ expected `{`
+   |
+help: try placing this code inside a block
+   |
+LL ~     let Some(_) = Some(()) else { if true {
+LL +
+LL +         return;
+LL +     } else {
+LL +         return;
+LL ~     } };
+   |
+
+error: aborting due to previous error
+