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