@@ -12,15 +12,6 @@ use core::iter::*;
12
12
use core:: { i8, i16, isize} ;
13
13
use core:: usize;
14
14
15
- // FIXME #27741: This is here to simplify calling Iterator::step_by. Remove
16
- // once Range::step_by is completely gone (not just deprecated).
17
- trait IterEx : Sized {
18
- fn iter_step_by ( self , n : usize ) -> StepBy < Self > ;
19
- }
20
- impl < I : Iterator > IterEx for I {
21
- fn iter_step_by ( self , n : usize ) -> StepBy < Self > { self . step_by ( n) }
22
- }
23
-
24
15
#[ test]
25
16
fn test_lt ( ) {
26
17
let empty: [ isize ; 0 ] = [ ] ;
@@ -76,7 +67,7 @@ fn test_multi_iter() {
76
67
77
68
#[ test]
78
69
fn test_counter_from_iter ( ) {
79
- let it = ( 0 ..) . iter_step_by ( 5 ) . take ( 10 ) ;
70
+ let it = ( 0 ..) . step_by ( 5 ) . take ( 10 ) ;
80
71
let xs: Vec < isize > = FromIterator :: from_iter ( it) ;
81
72
assert_eq ! ( xs, [ 0 , 5 , 10 , 15 , 20 , 25 , 30 , 35 , 40 , 45 ] ) ;
82
73
}
@@ -94,7 +85,7 @@ fn test_iterator_chain() {
94
85
}
95
86
assert_eq ! ( i, expected. len( ) ) ;
96
87
97
- let ys = ( 30 ..) . iter_step_by ( 10 ) . take ( 4 ) ;
88
+ let ys = ( 30 ..) . step_by ( 10 ) . take ( 4 ) ;
98
89
let it = xs. iter ( ) . cloned ( ) . chain ( ys) ;
99
90
let mut i = 0 ;
100
91
for x in it {
@@ -156,13 +147,13 @@ fn test_iterator_chain_find() {
156
147
#[ test]
157
148
fn test_iterator_step_by ( ) {
158
149
// Identity
159
- let mut it = ( 0 ..) . iter_step_by ( 1 ) . take ( 3 ) ;
150
+ let mut it = ( 0 ..) . step_by ( 1 ) . take ( 3 ) ;
160
151
assert_eq ! ( it. next( ) , Some ( 0 ) ) ;
161
152
assert_eq ! ( it. next( ) , Some ( 1 ) ) ;
162
153
assert_eq ! ( it. next( ) , Some ( 2 ) ) ;
163
154
assert_eq ! ( it. next( ) , None ) ;
164
155
165
- let mut it = ( 0 ..) . iter_step_by ( 3 ) . take ( 4 ) ;
156
+ let mut it = ( 0 ..) . step_by ( 3 ) . take ( 4 ) ;
166
157
assert_eq ! ( it. next( ) , Some ( 0 ) ) ;
167
158
assert_eq ! ( it. next( ) , Some ( 3 ) ) ;
168
159
assert_eq ! ( it. next( ) , Some ( 6 ) ) ;
@@ -173,7 +164,7 @@ fn test_iterator_step_by() {
173
164
#[ test]
174
165
#[ should_panic]
175
166
fn test_iterator_step_by_zero ( ) {
176
- let mut it = ( 0 ..) . iter_step_by ( 0 ) ;
167
+ let mut it = ( 0 ..) . step_by ( 0 ) ;
177
168
it. next ( ) ;
178
169
}
179
170
@@ -252,7 +243,7 @@ fn test_iterator_step_by_size_hint() {
252
243
253
244
#[ test]
254
245
fn test_filter_map ( ) {
255
- let it = ( 0 ..) . iter_step_by ( 1 ) . take ( 10 )
246
+ let it = ( 0 ..) . step_by ( 1 ) . take ( 10 )
256
247
. filter_map ( |x| if x % 2 == 0 { Some ( x* x) } else { None } ) ;
257
248
assert_eq ! ( it. collect:: <Vec <usize >>( ) , [ 0 * 0 , 2 * 2 , 4 * 4 , 6 * 6 , 8 * 8 ] ) ;
258
249
}
@@ -654,7 +645,7 @@ fn test_iterator_scan() {
654
645
fn test_iterator_flat_map ( ) {
655
646
let xs = [ 0 , 3 , 6 ] ;
656
647
let ys = [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 ] ;
657
- let it = xs. iter ( ) . flat_map ( |& x| ( x..) . iter_step_by ( 1 ) . take ( 3 ) ) ;
648
+ let it = xs. iter ( ) . flat_map ( |& x| ( x..) . step_by ( 1 ) . take ( 3 ) ) ;
658
649
let mut i = 0 ;
659
650
for x in it {
660
651
assert_eq ! ( x, ys[ i] ) ;
@@ -680,13 +671,13 @@ fn test_inspect() {
680
671
#[ test]
681
672
fn test_cycle ( ) {
682
673
let cycle_len = 3 ;
683
- let it = ( 0 ..) . iter_step_by ( 1 ) . take ( cycle_len) . cycle ( ) ;
674
+ let it = ( 0 ..) . step_by ( 1 ) . take ( cycle_len) . cycle ( ) ;
684
675
assert_eq ! ( it. size_hint( ) , ( usize :: MAX , None ) ) ;
685
676
for ( i, x) in it. take ( 100 ) . enumerate ( ) {
686
677
assert_eq ! ( i % cycle_len, x) ;
687
678
}
688
679
689
- let mut it = ( 0 ..) . iter_step_by ( 1 ) . take ( 0 ) . cycle ( ) ;
680
+ let mut it = ( 0 ..) . step_by ( 1 ) . take ( 0 ) . cycle ( ) ;
690
681
assert_eq ! ( it. size_hint( ) , ( 0 , Some ( 0 ) ) ) ;
691
682
assert_eq ! ( it. next( ) , None ) ;
692
683
}
@@ -765,7 +756,7 @@ fn test_iterator_min() {
765
756
766
757
#[ test]
767
758
fn test_iterator_size_hint ( ) {
768
- let c = ( 0 ..) . iter_step_by ( 1 ) ;
759
+ let c = ( 0 ..) . step_by ( 1 ) ;
769
760
let v: & [ _ ] = & [ 0 , 1 , 2 , 3 , 4 , 5 , 6 , 7 , 8 , 9 ] ;
770
761
let v2 = & [ 10 , 11 , 12 ] ;
771
762
let vi = v. iter ( ) ;
@@ -1090,22 +1081,21 @@ fn test_range_step() {
1090
1081
#![ allow( deprecated) ]
1091
1082
1092
1083
assert_eq ! ( ( 0 ..20 ) . step_by( 5 ) . collect:: <Vec <isize >>( ) , [ 0 , 5 , 10 , 15 ] ) ;
1093
- assert_eq ! ( ( 20 .. 0 ) . step_by( - 5 ) . collect:: <Vec <isize >>( ) , [ 20 , 15 , 10 , 5 ] ) ;
1094
- assert_eq ! ( ( 20 .. 0 ) . step_by( - 6 ) . collect:: <Vec <isize >>( ) , [ 20 , 14 , 8 , 2 ] ) ;
1084
+ assert_eq ! ( ( 1 .. 21 ) . rev ( ) . step_by( 5 ) . collect:: <Vec <isize >>( ) , [ 20 , 15 , 10 , 5 ] ) ;
1085
+ assert_eq ! ( ( 1 .. 21 ) . rev ( ) . step_by( 6 ) . collect:: <Vec <isize >>( ) , [ 20 , 14 , 8 , 2 ] ) ;
1095
1086
assert_eq ! ( ( 200 ..255 ) . step_by( 50 ) . collect:: <Vec <u8 >>( ) , [ 200 , 250 ] ) ;
1096
1087
assert_eq ! ( ( 200 ..-5 ) . step_by( 1 ) . collect:: <Vec <isize >>( ) , [ ] ) ;
1097
1088
assert_eq ! ( ( 200 ..200 ) . step_by( 1 ) . collect:: <Vec <isize >>( ) , [ ] ) ;
1098
1089
1099
1090
assert_eq ! ( ( 0 ..20 ) . step_by( 1 ) . size_hint( ) , ( 20 , Some ( 20 ) ) ) ;
1100
1091
assert_eq ! ( ( 0 ..20 ) . step_by( 21 ) . size_hint( ) , ( 1 , Some ( 1 ) ) ) ;
1101
1092
assert_eq ! ( ( 0 ..20 ) . step_by( 5 ) . size_hint( ) , ( 4 , Some ( 4 ) ) ) ;
1102
- assert_eq ! ( ( 20 .. 0 ) . step_by( - 5 ) . size_hint( ) , ( 4 , Some ( 4 ) ) ) ;
1103
- assert_eq ! ( ( 20 .. 0 ) . step_by( - 6 ) . size_hint( ) , ( 4 , Some ( 4 ) ) ) ;
1093
+ assert_eq ! ( ( 1 .. 21 ) . rev ( ) . step_by( 5 ) . size_hint( ) , ( 4 , Some ( 4 ) ) ) ;
1094
+ assert_eq ! ( ( 1 .. 21 ) . rev ( ) . step_by( 6 ) . size_hint( ) , ( 4 , Some ( 4 ) ) ) ;
1104
1095
assert_eq ! ( ( 20 ..-5 ) . step_by( 1 ) . size_hint( ) , ( 0 , Some ( 0 ) ) ) ;
1105
1096
assert_eq ! ( ( 20 ..20 ) . step_by( 1 ) . size_hint( ) , ( 0 , Some ( 0 ) ) ) ;
1106
- assert_eq ! ( ( 0 ..1 ) . step_by( 0 ) . size_hint( ) , ( 0 , None ) ) ;
1107
- assert_eq ! ( ( i8 :: MAX ..i8 :: MIN ) . step_by( i8 :: MIN ) . size_hint( ) , ( 2 , Some ( 2 ) ) ) ;
1108
- assert_eq ! ( ( i16 :: MIN ..i16 :: MAX ) . step_by( i16 :: MAX ) . size_hint( ) , ( 3 , Some ( 3 ) ) ) ;
1097
+ assert_eq ! ( ( i8 :: MIN ..i8 :: MAX ) . step_by( -( i8 :: MIN as i32 ) as usize ) . size_hint( ) , ( 2 , Some ( 2 ) ) ) ;
1098
+ assert_eq ! ( ( i16 :: MIN ..i16 :: MAX ) . step_by( i16 :: MAX as usize ) . size_hint( ) , ( 3 , Some ( 3 ) ) ) ;
1109
1099
assert_eq ! ( ( isize :: MIN ..isize :: MAX ) . step_by( 1 ) . size_hint( ) , ( usize :: MAX , Some ( usize :: MAX ) ) ) ;
1110
1100
}
1111
1101
0 commit comments