]>
Commit | Line | Data |
---|---|---|
b7449926 | 1 | // run-pass |
9cc50fc6 | 2 | enum Abc { |
064997fb FG |
3 | A(#[allow(unused_tuple_struct_fields)] u8), |
4 | B(#[allow(unused_tuple_struct_fields)] i8), | |
9cc50fc6 SL |
5 | C, |
6 | D, | |
7 | } | |
8 | ||
9cc50fc6 SL |
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 | ||
9cc50fc6 SL |
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 | } |