@@ -10,24 +10,30 @@ use std::iter::{self, Zip};
10
10
type VecIntoIter < T > = alloc:: vec:: IntoIter < T > ;
11
11
12
12
#[ cfg( feature = "use_alloc" ) ]
13
- use alloc:: string:: String ;
13
+ use alloc:: {
14
+ string:: String ,
15
+ } ;
14
16
15
- use crate :: intersperse:: { Intersperse , IntersperseWith } ;
16
17
use crate :: Itertools ;
18
+ use crate :: intersperse:: { Intersperse , IntersperseWith } ;
17
19
18
- pub use crate :: adaptors:: { interleave, merge, put_back} ;
20
+ pub use crate :: adaptors:: {
21
+ interleave,
22
+ merge,
23
+ put_back,
24
+ } ;
19
25
#[ cfg( feature = "use_alloc" ) ]
20
- pub use crate :: kmerge_impl:: kmerge;
21
- pub use crate :: merge_join:: merge_join_by;
26
+ pub use crate :: put_back_n_impl:: put_back_n;
22
27
#[ cfg( feature = "use_alloc" ) ]
23
28
pub use crate :: multipeek_impl:: multipeek;
24
29
#[ cfg( feature = "use_alloc" ) ]
25
30
pub use crate :: peek_nth:: peek_nth;
26
31
#[ cfg( feature = "use_alloc" ) ]
27
- pub use crate :: put_back_n_impl:: put_back_n;
32
+ pub use crate :: kmerge_impl:: kmerge;
33
+ pub use crate :: zip_eq_impl:: zip_eq;
34
+ pub use crate :: merge_join:: merge_join_by;
28
35
#[ cfg( feature = "use_alloc" ) ]
29
36
pub use crate :: rciter_impl:: rciter;
30
- pub use crate :: zip_eq_impl:: zip_eq;
31
37
32
38
/// Iterate `iterable` with a particular value inserted between each element.
33
39
///
@@ -39,9 +45,8 @@ pub use crate::zip_eq_impl::zip_eq;
39
45
/// itertools::assert_equal(intersperse((0..3), 8), vec![0, 8, 1, 8, 2]);
40
46
/// ```
41
47
pub fn intersperse < I > ( iterable : I , element : I :: Item ) -> Intersperse < I :: IntoIter >
42
- where
43
- I : IntoIterator ,
44
- <I as IntoIterator >:: Item : Clone ,
48
+ where I : IntoIterator ,
49
+ <I as IntoIterator >:: Item : Clone
45
50
{
46
51
Itertools :: intersperse ( iterable. into_iter ( ) , element)
47
52
}
59
64
/// assert_eq!(i, 8);
60
65
/// ```
61
66
pub fn intersperse_with < I , F > ( iterable : I , element : F ) -> IntersperseWith < I :: IntoIter , F >
62
- where
63
- I : IntoIterator ,
64
- F : FnMut ( ) -> I :: Item ,
67
+ where I : IntoIterator ,
68
+ F : FnMut ( ) -> I :: Item
65
69
{
66
70
Itertools :: intersperse_with ( iterable. into_iter ( ) , element)
67
71
}
78
82
/// }
79
83
/// ```
80
84
pub fn enumerate < I > ( iterable : I ) -> iter:: Enumerate < I :: IntoIter >
81
- where
82
- I : IntoIterator ,
85
+ where I : IntoIterator
83
86
{
84
87
iterable. into_iter ( ) . enumerate ( )
85
88
}
96
99
/// }
97
100
/// ```
98
101
pub fn rev < I > ( iterable : I ) -> iter:: Rev < I :: IntoIter >
99
- where
100
- I : IntoIterator ,
101
- I :: IntoIter : DoubleEndedIterator ,
102
+ where I : IntoIterator ,
103
+ I :: IntoIter : DoubleEndedIterator
102
104
{
103
105
iterable. into_iter ( ) . rev ( )
104
106
}
@@ -119,11 +121,9 @@ where
119
121
/// }
120
122
/// assert_eq!(result, vec![(1, 'a'),(2, 'b'),(3, 'c')]);
121
123
/// ```
122
- ///
123
124
pub fn zip < I , J > ( i : I , j : J ) -> Zip < I :: IntoIter , J :: IntoIter >
124
- where
125
- I : IntoIterator ,
126
- J : IntoIterator ,
125
+ where I : IntoIterator ,
126
+ J : IntoIterator
127
127
{
128
128
i. into_iter ( ) . zip ( j)
129
129
}
@@ -139,13 +139,9 @@ where
139
139
/// /* loop body */
140
140
/// }
141
141
/// ```
142
- pub fn chain < I , J > (
143
- i : I ,
144
- j : J ,
145
- ) -> iter:: Chain < <I as IntoIterator >:: IntoIter , <J as IntoIterator >:: IntoIter >
146
- where
147
- I : IntoIterator ,
148
- J : IntoIterator < Item = I :: Item > ,
142
+ pub fn chain < I , J > ( i : I , j : J ) -> iter:: Chain < <I as IntoIterator >:: IntoIter , <J as IntoIterator >:: IntoIter >
143
+ where I : IntoIterator ,
144
+ J : IntoIterator < Item = I :: Item >
149
145
{
150
146
i. into_iter ( ) . chain ( j)
151
147
}
@@ -160,9 +156,8 @@ where
160
156
/// assert_eq!(cloned(b"abc").next(), Some(b'a'));
161
157
/// ```
162
158
pub fn cloned < ' a , I , T : ' a > ( iterable : I ) -> iter:: Cloned < I :: IntoIter >
163
- where
164
- I : IntoIterator < Item = & ' a T > ,
165
- T : Clone ,
159
+ where I : IntoIterator < Item =& ' a T > ,
160
+ T : Clone ,
166
161
{
167
162
iterable. into_iter ( ) . cloned ( )
168
163
}
@@ -177,9 +172,8 @@ where
177
172
/// assert_eq!(fold(&[1., 2., 3.], 0., |a, &b| f32::max(a, b)), 3.);
178
173
/// ```
179
174
pub fn fold < I , B , F > ( iterable : I , init : B , f : F ) -> B
180
- where
181
- I : IntoIterator ,
182
- F : FnMut ( B , I :: Item ) -> B ,
175
+ where I : IntoIterator ,
176
+ F : FnMut ( B , I :: Item ) -> B
183
177
{
184
178
iterable. into_iter ( ) . fold ( init, f)
185
179
}
@@ -194,9 +188,8 @@ where
194
188
/// assert!(all(&[1, 2, 3], |elt| *elt > 0));
195
189
/// ```
196
190
pub fn all < I , F > ( iterable : I , f : F ) -> bool
197
- where
198
- I : IntoIterator ,
199
- F : FnMut ( I :: Item ) -> bool ,
191
+ where I : IntoIterator ,
192
+ F : FnMut ( I :: Item ) -> bool
200
193
{
201
194
iterable. into_iter ( ) . all ( f)
202
195
}
@@ -211,9 +204,8 @@ where
211
204
/// assert!(any(&[0, -1, 2], |elt| *elt > 0));
212
205
/// ```
213
206
pub fn any < I , F > ( iterable : I , f : F ) -> bool
214
- where
215
- I : IntoIterator ,
216
- F : FnMut ( I :: Item ) -> bool ,
207
+ where I : IntoIterator ,
208
+ F : FnMut ( I :: Item ) -> bool
217
209
{
218
210
iterable. into_iter ( ) . any ( f)
219
211
}
@@ -228,9 +220,8 @@ where
228
220
/// assert_eq!(max(0..10), Some(9));
229
221
/// ```
230
222
pub fn max < I > ( iterable : I ) -> Option < I :: Item >
231
- where
232
- I : IntoIterator ,
233
- I :: Item : Ord ,
223
+ where I : IntoIterator ,
224
+ I :: Item : Ord
234
225
{
235
226
iterable. into_iter ( ) . max ( )
236
227
}
@@ -245,13 +236,13 @@ where
245
236
/// assert_eq!(min(0..10), Some(0));
246
237
/// ```
247
238
pub fn min < I > ( iterable : I ) -> Option < I :: Item >
248
- where
249
- I : IntoIterator ,
250
- I :: Item : Ord ,
239
+ where I : IntoIterator ,
240
+ I :: Item : Ord
251
241
{
252
242
iterable. into_iter ( ) . min ( )
253
243
}
254
244
245
+
255
246
/// Combine all iterator elements into one String, separated by `sep`.
256
247
///
257
248
/// [`IntoIterator`] enabled version of [`Itertools::join`].
@@ -263,9 +254,8 @@ where
263
254
/// ```
264
255
#[ cfg( feature = "use_alloc" ) ]
265
256
pub fn join < I > ( iterable : I , sep : & str ) -> String
266
- where
267
- I : IntoIterator ,
268
- I :: Item : Display ,
257
+ where I : IntoIterator ,
258
+ I :: Item : Display
269
259
{
270
260
iterable. into_iter ( ) . join ( sep)
271
261
}
@@ -282,9 +272,9 @@ where
282
272
/// ```
283
273
#[ cfg( feature = "use_alloc" ) ]
284
274
pub fn sorted < I > ( iterable : I ) -> VecIntoIter < I :: Item >
285
- where
286
- I : IntoIterator ,
287
- I :: Item : Ord ,
275
+ where I : IntoIterator ,
276
+ I :: Item : Ord
288
277
{
289
278
iterable. into_iter ( ) . sorted ( )
290
279
}
280
+
0 commit comments