8
8
// option. This file may not be copied, modified, or distributed
9
9
// except according to those terms.
10
10
11
- use std:: collections:: EnumSet ;
11
+ use std:: mem;
12
+
13
+ use collections:: enum_set:: { CLike , EnumSet } ;
14
+
15
+ use self :: Foo :: * ;
12
16
13
17
#[ derive( Copy , PartialEq , Debug ) ]
14
18
#[ repr( usize ) ]
@@ -144,23 +148,23 @@ fn test_contains() {
144
148
fn test_iterator ( ) {
145
149
let mut e1: EnumSet < Foo > = EnumSet :: new ( ) ;
146
150
147
- let elems: :: vec :: Vec < Foo > = e1. iter ( ) . collect ( ) ;
151
+ let elems: Vec < Foo > = e1. iter ( ) . collect ( ) ;
148
152
assert ! ( elems. is_empty( ) ) ;
149
153
150
154
e1. insert ( A ) ;
151
- let elems: :: vec :: Vec < _ > = e1. iter ( ) . collect ( ) ;
155
+ let elems: Vec < _ > = e1. iter ( ) . collect ( ) ;
152
156
assert_eq ! ( [ A ] , elems) ;
153
157
154
158
e1. insert ( C ) ;
155
- let elems: :: vec :: Vec < _ > = e1. iter ( ) . collect ( ) ;
159
+ let elems: Vec < _ > = e1. iter ( ) . collect ( ) ;
156
160
assert_eq ! ( [ A , C ] , elems) ;
157
161
158
162
e1. insert ( C ) ;
159
- let elems: :: vec :: Vec < _ > = e1. iter ( ) . collect ( ) ;
163
+ let elems: Vec < _ > = e1. iter ( ) . collect ( ) ;
160
164
assert_eq ! ( [ A , C ] , elems) ;
161
165
162
166
e1. insert ( B ) ;
163
- let elems: :: vec :: Vec < _ > = e1. iter ( ) . collect ( ) ;
167
+ let elems: Vec < _ > = e1. iter ( ) . collect ( ) ;
164
168
assert_eq ! ( [ A , B , C ] , elems) ;
165
169
}
166
170
@@ -178,35 +182,35 @@ fn test_operators() {
178
182
e2. insert ( C ) ;
179
183
180
184
let e_union = e1 | e2;
181
- let elems: :: vec :: Vec < _ > = e_union. iter ( ) . collect ( ) ;
185
+ let elems: Vec < _ > = e_union. iter ( ) . collect ( ) ;
182
186
assert_eq ! ( [ A , B , C ] , elems) ;
183
187
184
188
let e_intersection = e1 & e2;
185
- let elems: :: vec :: Vec < _ > = e_intersection. iter ( ) . collect ( ) ;
189
+ let elems: Vec < _ > = e_intersection. iter ( ) . collect ( ) ;
186
190
assert_eq ! ( [ C ] , elems) ;
187
191
188
192
// Another way to express intersection
189
193
let e_intersection = e1 - ( e1 - e2) ;
190
- let elems: :: vec :: Vec < _ > = e_intersection. iter ( ) . collect ( ) ;
194
+ let elems: Vec < _ > = e_intersection. iter ( ) . collect ( ) ;
191
195
assert_eq ! ( [ C ] , elems) ;
192
196
193
197
let e_subtract = e1 - e2;
194
- let elems: :: vec :: Vec < _ > = e_subtract. iter ( ) . collect ( ) ;
198
+ let elems: Vec < _ > = e_subtract. iter ( ) . collect ( ) ;
195
199
assert_eq ! ( [ A ] , elems) ;
196
200
197
201
// Bitwise XOR of two sets, aka symmetric difference
198
202
let e_symmetric_diff = e1 ^ e2;
199
- let elems: :: vec :: Vec < _ > = e_symmetric_diff. iter ( ) . collect ( ) ;
203
+ let elems: Vec < _ > = e_symmetric_diff. iter ( ) . collect ( ) ;
200
204
assert_eq ! ( [ A , B ] , elems) ;
201
205
202
206
// Another way to express symmetric difference
203
207
let e_symmetric_diff = ( e1 - e2) | ( e2 - e1) ;
204
- let elems: :: vec :: Vec < _ > = e_symmetric_diff. iter ( ) . collect ( ) ;
208
+ let elems: Vec < _ > = e_symmetric_diff. iter ( ) . collect ( ) ;
205
209
assert_eq ! ( [ A , B ] , elems) ;
206
210
207
211
// Yet another way to express symmetric difference
208
212
let e_symmetric_diff = ( e1 | e2) - ( e1 & e2) ;
209
- let elems: :: vec :: Vec < _ > = e_symmetric_diff. iter ( ) . collect ( ) ;
213
+ let elems: Vec < _ > = e_symmetric_diff. iter ( ) . collect ( ) ;
210
214
assert_eq ! ( [ A , B ] , elems) ;
211
215
}
212
216
0 commit comments