File tree Expand file tree Collapse file tree 1 file changed +7
-4
lines changed
src/libcore/iter/adapters Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Original file line number Diff line number Diff line change 11use crate :: fmt;
22use crate :: ops:: Try ;
33
4- use super :: super :: { DoubleEndedIterator , FusedIterator , Iterator } ;
4+ use super :: super :: { DoubleEndedIterator , Fuse , FusedIterator , Iterator } ;
55use super :: Map ;
66
77/// An iterator that maps each element to an iterator, and yields the elements
@@ -239,14 +239,17 @@ where
239239/// this type.
240240#[ derive( Clone , Debug ) ]
241241struct FlattenCompat < I , U > {
242- iter : I ,
242+ iter : Fuse < I > ,
243243 frontiter : Option < U > ,
244244 backiter : Option < U > ,
245245}
246- impl < I , U > FlattenCompat < I , U > {
246+ impl < I , U > FlattenCompat < I , U >
247+ where
248+ I : Iterator ,
249+ {
247250 /// Adapts an iterator by flattening it, for use in `flatten()` and `flat_map()`.
248251 fn new ( iter : I ) -> FlattenCompat < I , U > {
249- FlattenCompat { iter, frontiter : None , backiter : None }
252+ FlattenCompat { iter : iter . fuse ( ) , frontiter : None , backiter : None }
250253 }
251254}
252255
You can’t perform that action at this time.
0 commit comments