extern mod std; fn foo(y: Option) { let mut x: int; let mut rs: ~[int] = ~[]; /* tests that x doesn't get put in the precondition for the entire if expression */ if true { } else { match y { None:: => x = 17, _ => x = 42 } rs += ~[x]; } return; } fn main() { debug!("hello"); foo::(Some::(5)); }