about summary refs log tree commit diff
path: root/src/libstd/map.rs
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2012-09-18 21:41:37 -0700
committerNiko Matsakis <niko@alum.mit.edu>2012-09-19 10:52:59 -0700
commit9cf271fe96b474d514b1052935db70c4056cf076 (patch)
tree7a6fb31efeaa4de91317c16aca824153aaaf988c /src/libstd/map.rs
parent62b7f4d800325b46002c47d23b58a9f2b7fabb9b (diff)
downloadrust-9cf271fe96b474d514b1052935db70c4056cf076.tar.gz
rust-9cf271fe96b474d514b1052935db70c4056cf076.zip
De-mode vec::each() and many of the str iteration routines
Note that the method foo.each() is not de-moded, nor the other
vec routines.
Diffstat (limited to 'src/libstd/map.rs')
-rw-r--r--src/libstd/map.rs21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/libstd/map.rs b/src/libstd/map.rs
index 1726e1f581f..7d609a42ebd 100644
--- a/src/libstd/map.rs
+++ b/src/libstd/map.rs
@@ -435,9 +435,12 @@ fn vec_from_set<T:Eq IterBytes Hash Copy>(s: Set<T>) -> ~[T] {
 fn hash_from_vec<K: Eq IterBytes Hash Const Copy, V: Copy>(
     items: &[(K, V)]) -> HashMap<K, V> {
     let map = HashMap();
-    do vec::iter(items) |item| {
-        let (key, value) = item;
-        map.insert(key, value);
+    for vec::each(items) |item| {
+        match *item {
+            (key, value) => {
+                map.insert(key, value);
+            }
+        }
     }
     map
 }
@@ -520,7 +523,7 @@ impl<K: Eq IterBytes Hash Copy, V: Copy> @Mut<LinearMap<K, V>>:
     pure fn each(op: fn(+key: K, +value: V) -> bool) {
         unsafe {
             do self.borrow_imm |p| {
-                p.each(op)
+                p.each(|k, v| op(*k, *v))
             }
         }
     }
@@ -528,7 +531,7 @@ impl<K: Eq IterBytes Hash Copy, V: Copy> @Mut<LinearMap<K, V>>:
     pure fn each_key(op: fn(+key: K) -> bool) {
         unsafe {
             do self.borrow_imm |p| {
-                p.each_key(op)
+                p.each_key(|k| op(*k))
             }
         }
     }
@@ -536,7 +539,7 @@ impl<K: Eq IterBytes Hash Copy, V: Copy> @Mut<LinearMap<K, V>>:
     pure fn each_value(op: fn(+value: V) -> bool) {
         unsafe {
             do self.borrow_imm |p| {
-                p.each_value(op)
+                p.each_value(|v| op(*v))
             }
         }
     }
@@ -544,7 +547,7 @@ impl<K: Eq IterBytes Hash Copy, V: Copy> @Mut<LinearMap<K, V>>:
     pure fn each_ref(op: fn(key: &K, value: &V) -> bool) {
         unsafe {
             do self.borrow_imm |p| {
-                p.each_ref(op)
+                p.each(op)
             }
         }
     }
@@ -552,7 +555,7 @@ impl<K: Eq IterBytes Hash Copy, V: Copy> @Mut<LinearMap<K, V>>:
     pure fn each_key_ref(op: fn(key: &K) -> bool) {
         unsafe {
             do self.borrow_imm |p| {
-                p.each_key_ref(op)
+                p.each_key(op)
             }
         }
     }
@@ -560,7 +563,7 @@ impl<K: Eq IterBytes Hash Copy, V: Copy> @Mut<LinearMap<K, V>>:
     pure fn each_value_ref(op: fn(value: &V) -> bool) {
         unsafe {
             do self.borrow_imm |p| {
-                p.each_value_ref(op)
+                p.each_value(op)
             }
         }
     }