]> git.lizzy.rs Git - rust.git/blobdiff - src/libcore/iter/mod.rs
Rollup merge of #44562 - eddyb:ugh-rustdoc, r=nikomatsakis
[rust.git] / src / libcore / iter / mod.rs
index ebedfe1d743bb37583c7ac4ccd70f670a19dc5ac..a596ffd6ae8fc9caf840b117cc7857ff0bf4e4c3 100644 (file)
@@ -1902,6 +1902,16 @@ fn size_hint(&self) -> (usize, Option<usize>) {
             _ => (lo, None)
         }
     }
+
+    #[inline]
+    fn fold<Acc, Fold>(self, init: Acc, mut fold: Fold) -> Acc
+        where Fold: FnMut(Acc, Self::Item) -> Acc,
+    {
+        self.frontiter.into_iter()
+            .chain(self.iter.map(self.f).map(U::into_iter))
+            .chain(self.backiter)
+            .fold(init, |acc, iter| iter.fold(acc, &mut fold))
+    }
 }
 
 #[stable(feature = "rust1", since = "1.0.0")]