]> git.lizzy.rs Git - rust.git/blobdiff - src/liballoc/boxed.rs
rollup merge of #21438: taralx/kill-racycell
[rust.git] / src / liballoc / boxed.rs
index a2cc98c7d01291c5141e4d97a29b5766fc1e60c1..92ac41e2058a3802712c3b301ac5932e9ea39236 100644 (file)
@@ -18,6 +18,7 @@
 use core::default::Default;
 use core::fmt;
 use core::hash::{self, Hash};
+use core::iter::Iterator;
 use core::marker::Sized;
 use core::mem;
 use core::option::Option;
@@ -187,6 +188,20 @@ impl<T: ?Sized> DerefMut for Box<T> {
     fn deref_mut(&mut self) -> &mut T { &mut **self }
 }
 
+// FIXME(#21363) remove `old_impl_check` when bug is fixed
+#[old_impl_check]
+impl<'a, T> Iterator for Box<Iterator<Item=T> + 'a> {
+    type Item = T;
+
+    fn next(&mut self) -> Option<T> {
+        (**self).next()
+    }
+
+    fn size_hint(&self) -> (usize, Option<usize>) {
+        (**self).size_hint()
+    }
+}
+
 #[cfg(test)]
 mod test {
     #[test]