about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2015-01-21 09:13:38 -0800
committerAlex Crichton <alex@alexcrichton.com>2015-01-21 09:13:38 -0800
commit2e9adab52808bb7eb439a0e3482973e6a9c59c4b (patch)
treee5668cc152384dee346de5e2f4cbc21004e2a852
parent83af23ea49a907ddda8915775cfb5d8c4cff5682 (diff)
parent2cc7feb4f6019b36f84d56f3202361bace1e5503 (diff)
downloadrust-2e9adab52808bb7eb439a0e3482973e6a9c59c4b.tar.gz
rust-2e9adab52808bb7eb439a0e3482973e6a9c59c4b.zip
rollup merge of #21053: apasel422/exact
-rw-r--r--src/libcollections/slice.rs7
-rw-r--r--src/libcore/slice.rs5
2 files changed, 12 insertions, 0 deletions
diff --git a/src/libcollections/slice.rs b/src/libcollections/slice.rs
index 988ec4c661f..cefa540b9a2 100644
--- a/src/libcollections/slice.rs
+++ b/src/libcollections/slice.rs
@@ -2409,8 +2409,12 @@ mod tests {
 
     #[test]
     fn test_chunksator() {
+        use core::iter::ExactSizeIterator;
+
         let v = &[1i,2,3,4,5];
 
+        assert_eq!(v.chunks(2).len(), 3);
+
         let chunks: &[&[int]] = &[&[1i,2], &[3,4], &[5]];
         assert_eq!(v.chunks(2).collect::<Vec<&[int]>>(), chunks);
         let chunks: &[&[int]] = &[&[1i,2,3], &[4,5]];
@@ -2675,7 +2679,10 @@ mod tests {
 
     #[test]
     fn test_mut_chunks() {
+        use core::iter::ExactSizeIterator;
+
         let mut v = [0u8, 1, 2, 3, 4, 5, 6];
+        assert_eq!(v.chunks_mut(2).len(), 4);
         for (i, chunk) in v.chunks_mut(3).enumerate() {
             for x in chunk.iter_mut() {
                 *x = i as u8;
diff --git a/src/libcore/slice.rs b/src/libcore/slice.rs
index 50cbb7a61dc..ae5dc1bffa6 100644
--- a/src/libcore/slice.rs
+++ b/src/libcore/slice.rs
@@ -1269,6 +1269,9 @@ impl<'a, T> DoubleEndedIterator for Chunks<'a, T> {
     }
 }
 
+#[stable]
+impl<'a, T> ExactSizeIterator for Chunks<'a, T> {}
+
 #[unstable = "trait is experimental"]
 impl<'a, T> RandomAccessIterator for Chunks<'a, T> {
     #[inline]
@@ -1347,6 +1350,8 @@ impl<'a, T> DoubleEndedIterator for ChunksMut<'a, T> {
     }
 }
 
+#[stable]
+impl<'a, T> ExactSizeIterator for ChunksMut<'a, T> {}
 
 //
 // Free functions