// run-pass #![allow(unused_mut)] // under NLL we get warning about `bar` below fn baz() -> ! { panic!(); } fn foo() { match Some::(5) { Some::(_x) => { let mut bar; match None:: { None:: => { bar = 5; } _ => { baz(); } } println!("{}", bar); } None:: => { println!("hello"); } } } pub fn main() { foo(); }