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