Chih-Hung Hsieh | 3095d15 | 2020-02-27 10:42:41 -0800 | [diff] [blame^] | 1 | #![allow(dead_code)] |
2 | |||||
3 | #[remain::sorted] | ||||
4 | #[derive(PartialEq)] | ||||
5 | pub enum TestEnum { | ||||
6 | A, | ||||
7 | B, | ||||
8 | #[remain::unsorted] | ||||
9 | Ignored, | ||||
10 | C, | ||||
11 | #[unsorted] | ||||
12 | AlsoIgnored, | ||||
13 | D, | ||||
14 | __Nonexhaustive, | ||||
15 | } | ||||
16 | |||||
17 | #[remain::sorted] | ||||
18 | #[derive(PartialEq)] | ||||
19 | pub struct TestStruct { | ||||
20 | a: usize, | ||||
21 | b: usize, | ||||
22 | #[unsorted] | ||||
23 | ignored: usize, | ||||
24 | c: usize, | ||||
25 | #[remain::unsorted] | ||||
26 | also_ignored: usize, | ||||
27 | d: usize, | ||||
28 | } | ||||
29 | |||||
30 | #[test] | ||||
31 | fn test_attrs() { | ||||
32 | fn is_partial_eq<T: PartialEq>() -> bool { | ||||
33 | true | ||||
34 | } | ||||
35 | |||||
36 | assert!(is_partial_eq::<TestEnum>()); | ||||
37 | assert!(is_partial_eq::<TestStruct>()); | ||||
38 | } | ||||
39 | |||||
40 | #[test] | ||||
41 | #[remain::check] | ||||
42 | fn test_let() { | ||||
43 | let value = TestEnum::A; | ||||
44 | |||||
45 | #[sorted] | ||||
46 | let _ = match value { | ||||
47 | TestEnum::A => {} | ||||
48 | #[remain::unsorted] | ||||
49 | TestEnum::Ignored => {} | ||||
50 | TestEnum::B => {} | ||||
51 | #[unsorted] | ||||
52 | TestEnum::AlsoIgnored => {} | ||||
53 | TestEnum::C => {} | ||||
54 | _ => {} | ||||
55 | }; | ||||
56 | } | ||||
57 | |||||
58 | #[test] | ||||
59 | #[remain::check] | ||||
60 | fn test_match() { | ||||
61 | let value = TestEnum::A; | ||||
62 | |||||
63 | #[sorted] | ||||
64 | match value { | ||||
65 | TestEnum::A => {} | ||||
66 | TestEnum::B => {} | ||||
67 | #[unsorted] | ||||
68 | TestEnum::Ignored => {} | ||||
69 | TestEnum::C => {} | ||||
70 | #[remain::unsorted] | ||||
71 | TestEnum::AlsoIgnored => {} | ||||
72 | _ => {} | ||||
73 | } | ||||
74 | } |