File tree Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Expand file tree Collapse file tree 1 file changed +30
-0
lines changed Original file line number Diff line number Diff line change @@ -222,6 +222,36 @@ fn test_consuming_iter_with_free_list() {
222
222
assert_eq ! ( None , iter. next( ) ) ;
223
223
}
224
224
225
+ #[ test]
226
+ fn test_into_iter_drop ( ) {
227
+ struct Counter < ' a > ( & ' a mut usize ) ;
228
+
229
+ impl < ' a > Drop for Counter < ' a > {
230
+ fn drop ( & mut self ) {
231
+ * self . 0 += 1 ;
232
+ }
233
+ }
234
+
235
+ let mut a = 0 ;
236
+ let mut b = 0 ;
237
+ let mut c = 0 ;
238
+
239
+ {
240
+ let mut map = LinkedHashMap :: new ( ) ;
241
+ map. insert ( "a" , Counter ( & mut a) ) ;
242
+ map. insert ( "b" , Counter ( & mut b) ) ;
243
+ map. insert ( "c" , Counter ( & mut c) ) ;
244
+
245
+ let mut iter = map. into_iter ( ) ;
246
+ iter. next ( ) ;
247
+ iter. next_back ( ) ;
248
+ }
249
+
250
+ assert_eq ! ( a, 1 ) ;
251
+ assert_eq ! ( b, 1 ) ;
252
+ assert_eq ! ( c, 1 ) ;
253
+ }
254
+
225
255
#[ test]
226
256
fn test_borrow ( ) {
227
257
#[ derive( PartialEq , Eq , Hash ) ] struct Foo ( Bar ) ;
You can’t perform that action at this time.
0 commit comments