// Copyright 2012 The Rust Project Developers. See the COPYRIGHT // file at the top-level directory of this distribution and at // http://rust-lang.org/COPYRIGHT. // // Licensed under the Apache License, Version 2.0 or the MIT license // , at your // option. This file may not be copied, modified, or distributed // except according to those terms. 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; } pub fn main() { debug!("hello"); foo::(Some::(5)); }