@@ -310,6 +310,7 @@ where
310
310
/// Real logic of both `Flatten` and `FlatMap` which simply delegate to
311
311
/// this type.
312
312
#[ derive( Clone , Debug ) ]
313
+ #[ unstable( feature = "trusted_len" , issue = "37572" ) ]
313
314
struct FlattenCompat < I , U > {
314
315
iter : Fuse < I > ,
315
316
frontiter : Option < U > ,
@@ -463,6 +464,7 @@ where
463
464
}
464
465
}
465
466
467
+ #[ unstable( feature = "trusted_len" , issue = "37572" ) ]
466
468
impl < I , U > Iterator for FlattenCompat < I , U >
467
469
where
468
470
I : Iterator < Item : IntoIterator < IntoIter = U , Item = U :: Item > > ,
@@ -577,6 +579,7 @@ where
577
579
}
578
580
}
579
581
582
+ #[ unstable( feature = "trusted_len" , issue = "37572" ) ]
580
583
impl < I , U > DoubleEndedIterator for FlattenCompat < I , U >
581
584
where
582
585
I : DoubleEndedIterator < Item : IntoIterator < IntoIter = U , Item = U :: Item > > ,
@@ -646,20 +649,23 @@ where
646
649
}
647
650
}
648
651
652
+ #[ unstable( feature = "trusted_len" , issue = "37572" ) ]
649
653
unsafe impl < const N : usize , I , T > TrustedLen
650
654
for FlattenCompat < I , <[ T ; N ] as IntoIterator >:: IntoIter >
651
655
where
652
656
I : TrustedLen < Item = [ T ; N ] > ,
653
657
{
654
658
}
655
659
660
+ #[ unstable( feature = "trusted_len" , issue = "37572" ) ]
656
661
unsafe impl < ' a , const N : usize , I , T > TrustedLen
657
662
for FlattenCompat < I , <& ' a [ T ; N ] as IntoIterator >:: IntoIter >
658
663
where
659
664
I : TrustedLen < Item = & ' a [ T ; N ] > ,
660
665
{
661
666
}
662
667
668
+ #[ unstable( feature = "trusted_len" , issue = "37572" ) ]
663
669
unsafe impl < ' a , const N : usize , I , T > TrustedLen
664
670
for FlattenCompat < I , <& ' a mut [ T ; N ] as IntoIterator >:: IntoIter >
665
671
where
0 commit comments