]> git.lizzy.rs Git - rust.git/blob - src/test/ui/expr-if.rs
Auto merge of #84589 - In-line:zircon-thread-name, r=JohnTitor
[rust.git] / src / test / ui / expr-if.rs
1 // run-pass
2 // Tests for if as expressions
3
4 fn test_if() { let rs: bool = if true { true } else { false }; assert!((rs)); }
5
6 fn test_else() {
7     let rs: bool = if false { false } else { true };
8     assert!((rs));
9 }
10
11 fn test_elseif1() {
12     let rs: bool = if true { true } else if true { false } else { false };
13     assert!((rs));
14 }
15
16 fn test_elseif2() {
17     let rs: bool = if false { false } else if true { true } else { false };
18     assert!((rs));
19 }
20
21 fn test_elseif3() {
22     let rs: bool = if false { false } else if false { false } else { true };
23     assert!((rs));
24 }
25
26 fn test_inferrence() {
27     let rs = if true { true } else { false };
28     assert!((rs));
29 }
30
31 fn test_if_as_if_condition() {
32     let rs1 = if if false { false } else { true } { true } else { false };
33     assert!((rs1));
34     let rs2 = if if true { false } else { true } { false } else { true };
35     assert!((rs2));
36 }
37
38 fn test_if_as_block_result() {
39     let rs = if true { if false { false } else { true } } else { false };
40     assert!((rs));
41 }
42
43 pub fn main() {
44     test_if();
45     test_else();
46     test_elseif1();
47     test_elseif2();
48     test_elseif3();
49     test_inferrence();
50     test_if_as_if_condition();
51     test_if_as_block_result();
52 }