about summary refs log tree commit diff
path: root/src/test/ui/issues
diff options
context:
space:
mode:
authorEsteban Küber <esteban@kuber.com.ar>2019-11-18 18:31:31 -0800
committerEsteban Küber <esteban@kuber.com.ar>2019-11-18 18:33:57 -0800
commit31620fbdea3e1e706a67fa0907167818c4a4419f (patch)
tree6c291eb3dd6669401c32e188ccaccb36fffdad8c /src/test/ui/issues
parenta0d40f8bdfcc3c28355467973f97fd4c45ac5876 (diff)
downloadrust-31620fbdea3e1e706a67fa0907167818c4a4419f.tar.gz
rust-31620fbdea3e1e706a67fa0907167818c4a4419f.zip
Avoid ICE when `break`ing to an unreachable label
Diffstat (limited to 'src/test/ui/issues')
-rw-r--r--src/test/ui/issues/issue-62480.rs10
-rw-r--r--src/test/ui/issues/issue-62480.stderr8
2 files changed, 18 insertions, 0 deletions
diff --git a/src/test/ui/issues/issue-62480.rs b/src/test/ui/issues/issue-62480.rs
new file mode 100644
index 00000000000..bc3e6c69a60
--- /dev/null
+++ b/src/test/ui/issues/issue-62480.rs
@@ -0,0 +1,10 @@
+#![feature(label_break_value)]
+
+fn main() {
+    // This used to ICE during liveness check because `target_id` passed to
+    // `propagate_through_expr` would be the closure and not the `loop`, which wouldn't be found in
+    // `self.break_ln`. (#62480)
+    'a: {
+        || break 'a //~ ERROR `break` to unknown label
+    }
+}
diff --git a/src/test/ui/issues/issue-62480.stderr b/src/test/ui/issues/issue-62480.stderr
new file mode 100644
index 00000000000..de8451ad7df
--- /dev/null
+++ b/src/test/ui/issues/issue-62480.stderr
@@ -0,0 +1,8 @@
+error: `break` to unknown label
+  --> $DIR/issue-62480.rs:8:12
+   |
+LL |         || break 'a
+   |            ^^^^^^^^
+
+error: aborting due to previous error
+