about summary refs log tree commit diff
path: root/src/libstd/map.rs
diff options
context:
space:
mode:
authorPatrick Walton <pcwalton@mimiga.net>2012-11-28 13:51:50 -0800
committerPatrick Walton <pcwalton@mimiga.net>2012-12-04 14:51:31 -0800
commitd1ebdbeb6c00fe7d119ce17cabb303c5731f9bf7 (patch)
treebde6bd5862f6838776d2176e52ea96235828e348 /src/libstd/map.rs
parent56ece46f7de9d1703dd39f952afac9bed22633b6 (diff)
downloadrust-d1ebdbeb6c00fe7d119ce17cabb303c5731f9bf7.tar.gz
rust-d1ebdbeb6c00fe7d119ce17cabb303c5731f9bf7.zip
librustc: Implement explicit self for Add and Index; add a hack in the borrow checker to support this. r=nmatsakis
Diffstat (limited to 'src/libstd/map.rs')
-rw-r--r--src/libstd/map.rs10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/libstd/map.rs b/src/libstd/map.rs
index 05a8e37d9af..add1976539c 100644
--- a/src/libstd/map.rs
+++ b/src/libstd/map.rs
@@ -429,6 +429,7 @@ pub mod chained {
         }
     }
 
+    #[cfg(stage0)]
     impl<K:Eq IterBytes Hash Copy, V: Copy> T<K, V>: ops::Index<K, V> {
         pure fn index(k: K) -> V {
             unsafe {
@@ -436,6 +437,15 @@ pub mod chained {
             }
         }
     }
+    #[cfg(stage1)]
+    #[cfg(stage2)]
+    impl<K:Eq IterBytes Hash Copy, V: Copy> T<K, V>: ops::Index<K, V> {
+        pure fn index(&self, k: K) -> V {
+            unsafe {
+                self.get(k)
+            }
+        }
+    }
 
     fn chains<K,V>(nchains: uint) -> ~[mut Option<@Entry<K,V>>] {
         vec::to_mut(vec::from_elem(nchains, None))