summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorNiko Matsakis <niko@alum.mit.edu>2012-06-08 14:35:11 -0700
committerNiko Matsakis <niko@alum.mit.edu>2012-06-08 14:35:11 -0700
commit9105cb6d5ddf6be881d9cbfd016600d1b69241ec (patch)
tree60b17bcebd6f419e37bb05f4adc090966391208d /src
parentfc9eadf75bc68be413d7894d70be2a2ad5a5bd79 (diff)
downloadrust-9105cb6d5ddf6be881d9cbfd016600d1b69241ec.tar.gz
rust-9105cb6d5ddf6be881d9cbfd016600d1b69241ec.zip
revise map interface so that K need not be copyable
Diffstat (limited to 'src')
-rw-r--r--src/libstd/map.rs12
-rw-r--r--src/libstd/smallintmap.rs2
-rw-r--r--src/test/run-pass/class-impl-parameterized-iface.rs2
-rw-r--r--src/test/run-pass/class-impl-very-parameterized-iface.rs2
4 files changed, 9 insertions, 9 deletions
diff --git a/src/libstd/map.rs b/src/libstd/map.rs
index 08ae0bd80c4..fc6d3ee52fc 100644
--- a/src/libstd/map.rs
+++ b/src/libstd/map.rs
@@ -21,7 +21,7 @@ type set<K> = hashmap<K, ()>;
 
 type hashmap<K, V> = chained::t<K, V>;
 
-iface map<K: copy, V: copy> {
+iface map<K, V: copy> {
     #[doc = "Return the number of elements in the map"]
     fn size() -> uint;
 
@@ -33,7 +33,7 @@ iface map<K: copy, V: copy> {
 
     Returns true if the key did not already exist in the map
     "]
-    fn insert(K, V) -> bool;
+    fn insert(+K, +V) -> bool;
 
     #[doc = "Returns true if the map contains a value for the specified key"]
     fn contains_key(K) -> bool;
@@ -96,7 +96,7 @@ mod chained {
         found_after(@entry<K,V>, @entry<K,V>)
     }
 
-    impl private_methods<K: copy, V: copy> for t<K, V> {
+    impl private_methods<K, V: copy> for t<K, V> {
         fn search_rem(k: K, h: uint, idx: uint,
                       e_root: @entry<K,V>) -> search_result<K,V> {
             let mut e0 = e_root;
@@ -174,7 +174,7 @@ mod chained {
         }
     }
 
-    impl hashmap<K: copy, V: copy> of map<K, V> for t<K, V> {
+    impl hashmap<K, V: copy> of map<K, V> for t<K, V> {
         fn size() -> uint { self.count }
 
         fn contains_key(k: K) -> bool {
@@ -185,7 +185,7 @@ mod chained {
             }
         }
 
-        fn insert(k: K, v: V) -> bool {
+        fn insert(+k: K, +v: V) -> bool {
             let hash = self.hasher(k);
             alt self.search_tbl(k, hash) {
               not_found {
@@ -249,7 +249,7 @@ mod chained {
 
         fn each(blk: fn(K,V) -> bool) {
             for self.each_entry { |entry|
-                if !blk(copy entry.key, copy entry.value) { break; }
+                if !blk(entry.key, copy entry.value) { break; }
             }
         }
 
diff --git a/src/libstd/smallintmap.rs b/src/libstd/smallintmap.rs
index ffe52c4131e..1abf54b438d 100644
--- a/src/libstd/smallintmap.rs
+++ b/src/libstd/smallintmap.rs
@@ -62,7 +62,7 @@ impl <V: copy> of map::map<uint, V> for smallintmap<V> {
         }
         sz
     }
-    fn insert(&&key: uint, value: V) -> bool {
+    fn insert(+key: uint, +value: V) -> bool {
         let exists = contains_key(self, key);
         insert(self, key, value);
         ret !exists;
diff --git a/src/test/run-pass/class-impl-parameterized-iface.rs b/src/test/run-pass/class-impl-parameterized-iface.rs
index a8a08eabc93..b7533bfe426 100644
--- a/src/test/run-pass/class-impl-parameterized-iface.rs
+++ b/src/test/run-pass/class-impl-parameterized-iface.rs
@@ -36,7 +36,7 @@ class cat implements map<int, bool> {
   }
 
   fn size() -> uint { self.meows as uint }
-  fn insert(&&k: int, &&v: bool) -> bool { 
+  fn insert(+k: int, +v: bool) -> bool { 
     if v { self.meows += k; } else { self.meows -= k; };
     true
   }
diff --git a/src/test/run-pass/class-impl-very-parameterized-iface.rs b/src/test/run-pass/class-impl-very-parameterized-iface.rs
index 74d8f921186..89674fecfa4 100644
--- a/src/test/run-pass/class-impl-very-parameterized-iface.rs
+++ b/src/test/run-pass/class-impl-very-parameterized-iface.rs
@@ -41,7 +41,7 @@ class cat<T: copy> implements map<int, T> {
   }
 
   fn size() -> uint { self.meows as uint }
-  fn insert(&&k: int, &&_v: T) -> bool {
+  fn insert(+k: int, +_v: T) -> bool {
     self.meows += k;
     true
   }