]> git.lizzy.rs Git - rust.git/blob - src/test/ui/mir/mir_codegen_switch.rs
Auto merge of #87150 - rusticstuff:simplify_wrapping_neg, r=m-ou-se
[rust.git] / src / test / ui / mir / mir_codegen_switch.rs
1 // run-pass
2 enum Abc {
3     A(u8),
4     B(i8),
5     C,
6     D,
7 }
8
9 fn foo(x: Abc) -> i32 {
10     match x {
11         Abc::C => 3,
12         Abc::D => 4,
13         Abc::B(_) => 2,
14         Abc::A(_) => 1,
15     }
16 }
17
18 fn foo2(x: Abc) -> bool {
19     match x {
20         Abc::D => true,
21         _ => false
22     }
23 }
24
25 fn main() {
26     assert_eq!(1, foo(Abc::A(42)));
27     assert_eq!(2, foo(Abc::B(-100)));
28     assert_eq!(3, foo(Abc::C));
29     assert_eq!(4, foo(Abc::D));
30
31     assert_eq!(false, foo2(Abc::A(1)));
32     assert_eq!(false, foo2(Abc::B(2)));
33     assert_eq!(false, foo2(Abc::C));
34     assert_eq!(true, foo2(Abc::D));
35 }