File tree 1 file changed +14
-6
lines changed
1 file changed +14
-6
lines changed Original file line number Diff line number Diff line change @@ -262,7 +262,10 @@ macro_rules! iproduct {
262
262
$crate:: __std_iter:: once( ( ) )
263
263
) ;
264
264
( $I: expr $( , ) ?) => (
265
- $crate:: __std_iter:: IntoIterator :: into_iter( $I) . map( |elt| ( elt, ) )
265
+ $crate:: __std_iter:: Iterator :: map(
266
+ $crate:: __std_iter:: IntoIterator :: into_iter( $I) ,
267
+ |elt| ( elt, )
268
+ )
266
269
) ;
267
270
( $I: expr, $J: expr $( , ) ?) => (
268
271
$crate:: Itertools :: cartesian_product(
@@ -330,19 +333,24 @@ macro_rules! izip {
330
333
331
334
// binary
332
335
( $first: expr, $second: expr $( , ) * ) => {
333
- $crate:: izip!( $first)
334
- . zip( $second)
336
+ $crate:: __std_iter:: Iterator :: zip(
337
+ $crate:: __std_iter:: IntoIterator :: into_iter( $first) ,
338
+ $second,
339
+ )
335
340
} ;
336
341
337
342
// n-ary where n > 2
338
343
( $first: expr $( , $rest: expr ) * $( , ) * ) => {
339
- $crate:: izip!( $first)
344
+ {
345
+ let iter = $crate:: __std_iter:: IntoIterator :: into_iter( $first) ;
340
346
$(
341
- . zip( $rest)
347
+ let iter = $crate :: __std_iter :: Iterator :: zip( iter , $rest) ;
342
348
) *
343
- . map(
349
+ $crate:: __std_iter:: Iterator :: map(
350
+ iter,
344
351
$crate:: izip!( @closure a => ( a) $( , $rest ) * )
345
352
)
353
+ }
346
354
} ;
347
355
}
348
356
You can’t perform that action at this time.
0 commit comments