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