1 | mod all; |
2 | mod bits; |
3 | mod complement; |
4 | mod contains; |
5 | mod difference; |
6 | mod empty; |
7 | mod eq; |
8 | mod extend; |
9 | mod flags; |
10 | mod fmt; |
11 | mod from_bits; |
12 | mod from_bits_retain; |
13 | mod from_bits_truncate; |
14 | mod from_name; |
15 | mod insert; |
16 | mod intersection; |
17 | mod intersects; |
18 | mod is_all; |
19 | mod is_empty; |
20 | mod iter; |
21 | mod parser; |
22 | mod remove; |
23 | mod symmetric_difference; |
24 | mod union; |
25 | |
26 | bitflags! { |
27 | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] |
28 | pub struct TestFlags: u8 { |
29 | /// 1 |
30 | const A = 1; |
31 | |
32 | /// 1 << 1 |
33 | const B = 1 << 1; |
34 | |
35 | /// 1 << 2 |
36 | const C = 1 << 2; |
37 | |
38 | /// 1 | (1 << 1) | (1 << 2) |
39 | const ABC = Self::A.bits() | Self::B.bits() | Self::C.bits(); |
40 | } |
41 | |
42 | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] |
43 | pub struct TestFlagsInvert: u8 { |
44 | /// 1 | (1 << 1) | (1 << 2) |
45 | const ABC = Self::A.bits() | Self::B.bits() | Self::C.bits(); |
46 | |
47 | /// 1 |
48 | const A = 1; |
49 | |
50 | /// 1 << 1 |
51 | const B = 1 << 1; |
52 | |
53 | /// 1 << 2 |
54 | const C = 1 << 2; |
55 | } |
56 | |
57 | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] |
58 | pub struct TestZero: u8 { |
59 | /// 0 |
60 | const ZERO = 0; |
61 | } |
62 | |
63 | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] |
64 | pub struct TestZeroOne: u8 { |
65 | /// 0 |
66 | const ZERO = 0; |
67 | |
68 | /// 1 |
69 | const ONE = 1; |
70 | } |
71 | |
72 | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] |
73 | pub struct TestUnicode: u8 { |
74 | /// 1 |
75 | const 一 = 1; |
76 | |
77 | /// 2 |
78 | const 二 = 1 << 1; |
79 | } |
80 | |
81 | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] |
82 | pub struct TestEmpty: u8 {} |
83 | |
84 | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] |
85 | pub struct TestOverlapping: u8 { |
86 | /// 1 | (1 << 1) |
87 | const AB = 1 | (1 << 1); |
88 | |
89 | /// (1 << 1) | (1 << 2) |
90 | const BC = (1 << 1) | (1 << 2); |
91 | } |
92 | |
93 | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] |
94 | pub struct TestOverlappingFull: u8 { |
95 | /// 1 |
96 | const A = 1; |
97 | |
98 | /// 1 |
99 | const B = 1; |
100 | |
101 | /// 1 |
102 | const C = 1; |
103 | |
104 | /// 2 |
105 | const D = 1 << 1; |
106 | } |
107 | |
108 | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] |
109 | pub struct TestExternal: u8 { |
110 | /// 1 |
111 | const A = 1; |
112 | |
113 | /// 1 << 1 |
114 | const B = 1 << 1; |
115 | |
116 | /// 1 << 2 |
117 | const C = 1 << 2; |
118 | |
119 | /// 1 | (1 << 1) | (1 << 2) |
120 | const ABC = Self::A.bits() | Self::B.bits() | Self::C.bits(); |
121 | |
122 | /// External |
123 | const _ = !0; |
124 | } |
125 | |
126 | #[derive(Debug, PartialEq, Eq, PartialOrd, Ord, Clone, Copy)] |
127 | pub struct TestExternalFull: u8 { |
128 | /// External |
129 | const _ = !0; |
130 | } |
131 | } |
132 | |