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