@@ -310,6 +310,7 @@ where
310310/// Real logic of both `Flatten` and `FlatMap` which simply delegate to
311311/// this type.
312312#[ derive( Clone , Debug ) ]
313+ #[ unstable( feature = "trusted_len" , issue = "37572" ) ]
313314struct FlattenCompat < I , U > {
314315 iter : Fuse < I > ,
315316 frontiter : Option < U > ,
@@ -463,6 +464,7 @@ where
463464 }
464465}
465466
467+ #[ unstable( feature = "trusted_len" , issue = "37572" ) ]
466468impl < I , U > Iterator for FlattenCompat < I , U >
467469where
468470 I : Iterator < Item : IntoIterator < IntoIter = U , Item = U :: Item > > ,
@@ -577,6 +579,7 @@ where
577579 }
578580}
579581
582+ #[ unstable( feature = "trusted_len" , issue = "37572" ) ]
580583impl < I , U > DoubleEndedIterator for FlattenCompat < I , U >
581584where
582585 I : DoubleEndedIterator < Item : IntoIterator < IntoIter = U , Item = U :: Item > > ,
@@ -646,20 +649,23 @@ where
646649 }
647650}
648651
652+ #[ unstable( feature = "trusted_len" , issue = "37572" ) ]
649653unsafe impl < const N : usize , I , T > TrustedLen
650654 for FlattenCompat < I , <[ T ; N ] as IntoIterator >:: IntoIter >
651655where
652656 I : TrustedLen < Item = [ T ; N ] > ,
653657{
654658}
655659
660+ #[ unstable( feature = "trusted_len" , issue = "37572" ) ]
656661unsafe impl < ' a , const N : usize , I , T > TrustedLen
657662 for FlattenCompat < I , <& ' a [ T ; N ] as IntoIterator >:: IntoIter >
658663where
659664 I : TrustedLen < Item = & ' a [ T ; N ] > ,
660665{
661666}
662667
668+ #[ unstable( feature = "trusted_len" , issue = "37572" ) ]
663669unsafe impl < ' a , const N : usize , I , T > TrustedLen
664670 for FlattenCompat < I , <& ' a mut [ T ; N ] as IntoIterator >:: IntoIter >
665671where
0 commit comments