]> git.lizzy.rs Git - rust.git/commitdiff
auto merge of #7921 : bytewiseand/rust/smallint-iter, r=huonw
authorbors <bors@rust-lang.org>
Sun, 21 Jul 2013 18:22:38 +0000 (11:22 -0700)
committerbors <bors@rust-lang.org>
Sun, 21 Jul 2013 18:22:38 +0000 (11:22 -0700)
Made the `iter` and `mut_iter` methods on SmallIntMap and SmallIntSet return double-ended-iterators. These iterators now implement `size_hint`.

Also the iterator tests only tested dense maps/sets, which aren't very useful. So they were changed to iterate over sparse maps/sets.

Fixes #7721

1  2 
src/libextra/smallintmap.rs

index 23b3364eb7caae0fed62cfe867f5d1bbfc4643c0,6735be0d0fb4241437162e2f102033a2f28b2270..47d7fca4076b26ad010f6decb26a36f90e09d8f1
@@@ -901,14 -877,17 +937,16 @@@ mod test_set 
  
          assert!(a.insert(0));
          assert!(a.insert(1));
-         assert!(a.insert(2));
          assert!(a.insert(3));
-         assert!(a.insert(4));
+         assert!(a.insert(6));
+         assert!(a.insert(10));
  
-         let a_it = a.rev_iter();
-         assert!(do a_it.enumerate().all |( i, v2 )| {
-             i + v2 == 4
-         });
+         let mut it = a.rev_iter();
+         assert_eq!(it.next().unwrap(), 10);
+         assert_eq!(it.next().unwrap(), 6);
+         assert_eq!(it.next().unwrap(), 3);
+         assert_eq!(it.next().unwrap(), 1);
+         assert_eq!(it.next().unwrap(), 0);
+         assert!(it.next().is_none());
      }
 -
  }