| //@ run-pass | |
| // Tests for using match as an expression | |
| fn test_basic() { | |
| let mut rs: bool = match true { true => { true } false => { false } }; | |
| assert!(rs); | |
| rs = match false { true => { false } false => { true } }; | |
| assert!(rs); | |
| } | |
| fn test_inferrence() { | |
| let rs = match true { true => { true } false => { false } }; | |
| assert!(rs); | |
| } | |
| fn test_alt_as_alt_head() { | |
| // Yeah, this is kind of confusing ... | |
| let rs = | |
| match match false { true => { true } false => { false } } { | |
| true => { false } | |
| false => { true } | |
| }; | |
| assert!(rs); | |
| } | |
| fn test_alt_as_block_result() { | |
| let rs = | |
| match false { | |
| true => { false } | |
| false => { match true { true => { true } false => { false } } } | |
| }; | |
| assert!(rs); | |
| } | |
| pub fn main() { | |
| test_basic(); | |
| test_inferrence(); | |
| test_alt_as_alt_head(); | |
| test_alt_as_block_result(); | |
| } |