blob: b1bcd65ab12766630e47a0f3cbea8bae7d843141 [file] [log] [blame]
Chih-Hung Hsieh3095d152020-02-27 10:42:41 -08001#![allow(dead_code)]
2
3#[remain::sorted]
4#[derive(PartialEq)]
5pub 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)]
19pub 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]
31fn 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]
42fn 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]
60fn 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}