@@ -366,32 +366,32 @@ fn test_iterator_size_hint() {
366
366
let vi = v. iter ( ) ;
367
367
368
368
assert_eq ! ( c. size_hint( ) , ( uint:: MAX , None ) ) ;
369
- assert_eq ! ( vi. size_hint( ) , ( 10 , Some ( 10 ) ) ) ;
370
-
371
- assert_eq ! ( c. take( 5 ) . size_hint( ) , ( 5 , Some ( 5 ) ) ) ;
372
- assert_eq ! ( c. skip( 5 ) . size_hint( ) . 1 , None ) ;
373
- assert_eq ! ( c. take_while( |_| false ) . size_hint( ) , ( 0 , None ) ) ;
374
- assert_eq ! ( c. skip_while( |_| false ) . size_hint( ) , ( 0 , None ) ) ;
375
- assert_eq ! ( c. enumerate( ) . size_hint( ) , ( uint:: MAX , None ) ) ;
376
- assert_eq ! ( c. chain( vi. map( |& i| i) ) . size_hint( ) , ( uint:: MAX , None ) ) ;
377
- assert_eq ! ( c. zip( vi) . size_hint( ) , ( 10 , Some ( 10 ) ) ) ;
378
- assert_eq ! ( c. scan( 0 i, |_, _| Some ( 0 i) ) . size_hint( ) , ( 0 , None ) ) ;
379
- assert_eq ! ( c. filter( |_| false ) . size_hint( ) , ( 0 , None ) ) ;
380
- assert_eq ! ( c. map( |_| 0 i) . size_hint( ) , ( uint:: MAX , None ) ) ;
369
+ assert_eq ! ( vi. clone ( ) . size_hint( ) , ( 10 , Some ( 10 ) ) ) ;
370
+
371
+ assert_eq ! ( c. clone ( ) . take( 5 ) . size_hint( ) , ( 5 , Some ( 5 ) ) ) ;
372
+ assert_eq ! ( c. clone ( ) . skip( 5 ) . size_hint( ) . 1 , None ) ;
373
+ assert_eq ! ( c. clone ( ) . take_while( |_| false ) . size_hint( ) , ( 0 , None ) ) ;
374
+ assert_eq ! ( c. clone ( ) . skip_while( |_| false ) . size_hint( ) , ( 0 , None ) ) ;
375
+ assert_eq ! ( c. clone ( ) . enumerate( ) . size_hint( ) , ( uint:: MAX , None ) ) ;
376
+ assert_eq ! ( c. clone ( ) . chain( vi. clone ( ) . map( |& i| i) ) . size_hint( ) , ( uint:: MAX , None ) ) ;
377
+ assert_eq ! ( c. clone ( ) . zip( vi. clone ( ) ) . size_hint( ) , ( 10 , Some ( 10 ) ) ) ;
378
+ assert_eq ! ( c. clone ( ) . scan( 0 i, |_, _| Some ( 0 i) ) . size_hint( ) , ( 0 , None ) ) ;
379
+ assert_eq ! ( c. clone ( ) . filter( |_| false ) . size_hint( ) , ( 0 , None ) ) ;
380
+ assert_eq ! ( c. clone ( ) . map( |_| 0 i) . size_hint( ) , ( uint:: MAX , None ) ) ;
381
381
assert_eq ! ( c. filter_map( |_| Some ( 0 i) ) . size_hint( ) , ( 0 , None ) ) ;
382
382
383
- assert_eq ! ( vi. take( 5 ) . size_hint( ) , ( 5 , Some ( 5 ) ) ) ;
384
- assert_eq ! ( vi. take( 12 ) . size_hint( ) , ( 10 , Some ( 10 ) ) ) ;
385
- assert_eq ! ( vi. skip( 3 ) . size_hint( ) , ( 7 , Some ( 7 ) ) ) ;
386
- assert_eq ! ( vi. skip( 12 ) . size_hint( ) , ( 0 , Some ( 0 ) ) ) ;
387
- assert_eq ! ( vi. take_while( |_| false ) . size_hint( ) , ( 0 , Some ( 10 ) ) ) ;
388
- assert_eq ! ( vi. skip_while( |_| false ) . size_hint( ) , ( 0 , Some ( 10 ) ) ) ;
389
- assert_eq ! ( vi. enumerate( ) . size_hint( ) , ( 10 , Some ( 10 ) ) ) ;
390
- assert_eq ! ( vi. chain( v2. iter( ) ) . size_hint( ) , ( 13 , Some ( 13 ) ) ) ;
391
- assert_eq ! ( vi. zip( v2. iter( ) ) . size_hint( ) , ( 3 , Some ( 3 ) ) ) ;
392
- assert_eq ! ( vi. scan( 0 i, |_, _| Some ( 0 i) ) . size_hint( ) , ( 0 , Some ( 10 ) ) ) ;
393
- assert_eq ! ( vi. filter( |_| false ) . size_hint( ) , ( 0 , Some ( 10 ) ) ) ;
394
- assert_eq ! ( vi. map( |& i| i+1 ) . size_hint( ) , ( 10 , Some ( 10 ) ) ) ;
383
+ assert_eq ! ( vi. clone ( ) . take( 5 ) . size_hint( ) , ( 5 , Some ( 5 ) ) ) ;
384
+ assert_eq ! ( vi. clone ( ) . take( 12 ) . size_hint( ) , ( 10 , Some ( 10 ) ) ) ;
385
+ assert_eq ! ( vi. clone ( ) . skip( 3 ) . size_hint( ) , ( 7 , Some ( 7 ) ) ) ;
386
+ assert_eq ! ( vi. clone ( ) . skip( 12 ) . size_hint( ) , ( 0 , Some ( 0 ) ) ) ;
387
+ assert_eq ! ( vi. clone ( ) . take_while( |_| false ) . size_hint( ) , ( 0 , Some ( 10 ) ) ) ;
388
+ assert_eq ! ( vi. clone ( ) . skip_while( |_| false ) . size_hint( ) , ( 0 , Some ( 10 ) ) ) ;
389
+ assert_eq ! ( vi. clone ( ) . enumerate( ) . size_hint( ) , ( 10 , Some ( 10 ) ) ) ;
390
+ assert_eq ! ( vi. clone ( ) . chain( v2. iter( ) ) . size_hint( ) , ( 13 , Some ( 13 ) ) ) ;
391
+ assert_eq ! ( vi. clone ( ) . zip( v2. iter( ) ) . size_hint( ) , ( 3 , Some ( 3 ) ) ) ;
392
+ assert_eq ! ( vi. clone ( ) . scan( 0 i, |_, _| Some ( 0 i) ) . size_hint( ) , ( 0 , Some ( 10 ) ) ) ;
393
+ assert_eq ! ( vi. clone ( ) . filter( |_| false ) . size_hint( ) , ( 0 , Some ( 10 ) ) ) ;
394
+ assert_eq ! ( vi. clone ( ) . map( |& i| i+1 ) . size_hint( ) , ( 10 , Some ( 10 ) ) ) ;
395
395
assert_eq ! ( vi. filter_map( |_| Some ( 0 i) ) . size_hint( ) , ( 0 , Some ( 10 ) ) ) ;
396
396
}
397
397
@@ -904,7 +904,7 @@ fn bench_multiple_take(b: &mut Bencher) {
904
904
b. iter ( || {
905
905
let n = it. next ( ) . unwrap ( ) ;
906
906
for _ in 0 u..n {
907
- it. take ( it. next ( ) . unwrap ( ) ) . all ( |_| true ) ;
907
+ it. clone ( ) . take ( it. next ( ) . unwrap ( ) ) . all ( |_| true ) ;
908
908
}
909
909
} ) ;
910
910
}
0 commit comments