@@ -1279,12 +1279,12 @@ pub struct Flatten<I> {
1279
1279
first : bool ,
1280
1280
}
1281
1281
1282
- impl < I , J > StreamingIterator for Flatten < I >
1282
+ impl < I > StreamingIterator for Flatten < I >
1283
1283
where
1284
- I : StreamingIteratorMut < Item = J > ,
1285
- for < ' a > J : StreamingIterator + ' a ,
1284
+ I : StreamingIteratorMut ,
1285
+ I :: Item : StreamingIterator ,
1286
1286
{
1287
- type Item = J :: Item ;
1287
+ type Item = < I :: Item as StreamingIterator > :: Item ;
1288
1288
1289
1289
#[ inline]
1290
1290
fn advance ( & mut self ) {
@@ -1311,7 +1311,7 @@ where
1311
1311
1312
1312
#[ inline]
1313
1313
fn get ( & self ) -> Option < & Self :: Item > {
1314
- self . iter . get ( ) . and_then ( |iter| iter . get ( ) )
1314
+ self . iter . get ( ) . and_then ( I :: Item :: get)
1315
1315
}
1316
1316
1317
1317
#[ inline]
@@ -1325,14 +1325,14 @@ where
1325
1325
}
1326
1326
}
1327
1327
1328
- impl < I , J > StreamingIteratorMut for Flatten < I >
1328
+ impl < I > StreamingIteratorMut for Flatten < I >
1329
1329
where
1330
- I : StreamingIteratorMut < Item = J > ,
1331
- for < ' a > J : StreamingIteratorMut + ' a ,
1330
+ I : StreamingIteratorMut ,
1331
+ I :: Item : StreamingIteratorMut ,
1332
1332
{
1333
1333
#[ inline]
1334
1334
fn get_mut ( & mut self ) -> Option < & mut Self :: Item > {
1335
- self . iter . get_mut ( ) . and_then ( J :: get_mut)
1335
+ self . iter . get_mut ( ) . and_then ( I :: Item :: get_mut)
1336
1336
}
1337
1337
1338
1338
#[ inline]
0 commit comments