From 9427a4ae8055d3ecf3ecfb2296d6a8e60868cbc0 Mon Sep 17 00:00:00 2001 From: Oliver Schneider Date: Tue, 13 Sep 2016 14:52:21 +0200 Subject: [PATCH] also test match statements, return, continue and break --- tests/compile-fail/diverging_sub_expression.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/tests/compile-fail/diverging_sub_expression.rs b/tests/compile-fail/diverging_sub_expression.rs index d82832ef1..782c406d7 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 + }; + } +}