about summary refs log tree commit diff
path: root/src/liballoc
diff options
context:
space:
mode:
authorUlrik Sverdrup <bluss@users.noreply.github.com>2016-12-03 21:42:03 +0100
committerUlrik Sverdrup <bluss@users.noreply.github.com>2016-12-04 15:46:37 +0100
commitd53f82c1d037bf224a72a11747e7788f14b52db5 (patch)
treec7b487ec64306ea67176585aa11d760dd4be7ea6 /src/liballoc
parent705e295b7b93c0861c9d8af4177f6701126683a9 (diff)
downloadrust-d53f82c1d037bf224a72a11747e7788f14b52db5.tar.gz
rust-d53f82c1d037bf224a72a11747e7788f14b52db5.zip
alloc: Forward ExactSizeIterator methods in Iterator for Box<I>
Diffstat (limited to 'src/liballoc')
-rw-r--r--src/liballoc/boxed.rs9
-rw-r--r--src/liballoc/lib.rs1
2 files changed, 9 insertions, 1 deletions
diff --git a/src/liballoc/boxed.rs b/src/liballoc/boxed.rs
index 28f4dda1408..6d7a9b1d1f9 100644
--- a/src/liballoc/boxed.rs
+++ b/src/liballoc/boxed.rs
@@ -532,7 +532,14 @@ impl<I: DoubleEndedIterator + ?Sized> DoubleEndedIterator for Box<I> {
     }
 }
 #[stable(feature = "rust1", since = "1.0.0")]
-impl<I: ExactSizeIterator + ?Sized> ExactSizeIterator for Box<I> {}
+impl<I: ExactSizeIterator + ?Sized> ExactSizeIterator for Box<I> {
+    fn len(&self) -> usize {
+        (**self).len()
+    }
+    fn is_empty(&self) -> bool {
+        (**self).is_empty()
+    }
+}
 
 #[unstable(feature = "fused", issue = "35602")]
 impl<I: FusedIterator + ?Sized> FusedIterator for Box<I> {}
diff --git a/src/liballoc/lib.rs b/src/liballoc/lib.rs
index 0d450184ed8..acce4ce0358 100644
--- a/src/liballoc/lib.rs
+++ b/src/liballoc/lib.rs
@@ -79,6 +79,7 @@
 #![feature(core_intrinsics)]
 #![feature(custom_attribute)]
 #![feature(dropck_parametricity)]
+#![cfg_attr(not(test), feature(exact_size_is_empty))]
 #![feature(fundamental)]
 #![feature(lang_items)]
 #![feature(needs_allocator)]