about summary refs log tree commit diff
diff options
context:
space:
mode:
authorOliver Schneider <git-spam-no-reply9815368754983@oli-obk.de>2016-09-13 14:52:21 +0200
committerOliver Schneider <git-spam-no-reply9815368754983@oli-obk.de>2016-09-13 14:52:21 +0200
commit9427a4ae8055d3ecf3ecfb2296d6a8e60868cbc0 (patch)
tree9c01ab91221a4864372c315fab322844f836edad
parente6bfe4b514c9b7201c47726f5dde4c5aee53d054 (diff)
downloadrust-9427a4ae8055d3ecf3ecfb2296d6a8e60868cbc0.tar.gz
rust-9427a4ae8055d3ecf3ecfb2296d6a8e60868cbc0.zip
also test match statements, return, continue and break
-rw-r--r--tests/compile-fail/diverging_sub_expression.rs16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/compile-fail/diverging_sub_expression.rs b/tests/compile-fail/diverging_sub_expression.rs
index d82832ef11f..782c406d74c 100644
--- a/tests/compile-fail/diverging_sub_expression.rs
+++ b/tests/compile-fail/diverging_sub_expression.rs
@@ -19,3 +19,19 @@ fn main() {
     let y = (5, diverge(), 6); //~ ERROR sub-expression diverges
     println!("{}", y.1);
 }
+
+#[allow(dead_code, unused_variables)]
+fn foobar() {
+    loop {
+        let x = match 5 {
+            4 => return,
+            5 => continue,
+            6 => (println!("foo"), return), //~ ERROR sub-expression diverges
+            7 => (println!("bar"), continue), //~ ERROR sub-expression diverges
+            8 => break,
+            9 => diverge(),
+            3 => (println!("moo"), diverge()), //~ ERROR sub-expression diverges
+            _ => (println!("boo"), break), //~ ERROR sub-expression diverges
+        };
+    }
+}