about summary refs log tree commit diff
path: root/src/libstd
diff options
context:
space:
mode:
authorbors <bors@rust-lang.org>2013-08-03 13:40:49 -0700
committerbors <bors@rust-lang.org>2013-08-03 13:40:49 -0700
commit18e3db7392d2d0697b7e27d6d986139960144d85 (patch)
tree2d5f263ee10b057c95f5eab38bccc5eb065d6b25 /src/libstd
parentb5d77d20ec2db9fbb3ba4b7a670e406bc2dc2206 (diff)
parentcf9e9b21d59eaf6f4d57904ef882a654caa37085 (diff)
downloadrust-18e3db7392d2d0697b7e27d6d986139960144d85.tar.gz
rust-18e3db7392d2d0697b7e27d6d986139960144d85.zip
auto merge of #8246 : stepancheg/rust/contains-key, r=thestinger
Map::contains_key can be implemented with Map::find.

Remove several implementations of contains_key.
Diffstat (limited to 'src/libstd')
-rw-r--r--src/libstd/container.rs8
-rw-r--r--src/libstd/hashmap.rs8
-rw-r--r--src/libstd/trie.rs6
3 files changed, 5 insertions, 17 deletions
diff --git a/src/libstd/container.rs b/src/libstd/container.rs
index 10f3fc6586f..22525d4cab4 100644
--- a/src/libstd/container.rs
+++ b/src/libstd/container.rs
@@ -34,11 +34,13 @@ pub trait Mutable: Container {
 /// A map is a key-value store where values may be looked up by their keys. This
 /// trait provides basic operations to operate on these stores.
 pub trait Map<K, V>: Container {
-    /// Return true if the map contains a value for the specified key
-    fn contains_key(&self, key: &K) -> bool;
-
     /// Return a reference to the value corresponding to the key
     fn find<'a>(&'a self, key: &K) -> Option<&'a V>;
+
+    /// Return true if the map contains a value for the specified key
+    fn contains_key(&self, key: &K) -> bool {
+        self.find(key).is_some()
+    }
 }
 
 /// This trait provides basic operations to modify the contents of a map.
diff --git a/src/libstd/hashmap.rs b/src/libstd/hashmap.rs
index 4de5d316fc0..74cff989c45 100644
--- a/src/libstd/hashmap.rs
+++ b/src/libstd/hashmap.rs
@@ -272,14 +272,6 @@ impl<K:Hash + Eq,V> Mutable for HashMap<K, V> {
 }
 
 impl<K:Hash + Eq,V> Map<K, V> for HashMap<K, V> {
-    /// Return true if the map contains a value for the specified key
-    fn contains_key(&self, k: &K) -> bool {
-        match self.bucket_for_key(k) {
-            FoundEntry(_) => {true}
-            TableFull | FoundHole(_) => {false}
-        }
-    }
-
     /// Return a reference to the value corresponding to the key
     fn find<'a>(&'a self, k: &K) -> Option<&'a V> {
         match self.bucket_for_key(k) {
diff --git a/src/libstd/trie.rs b/src/libstd/trie.rs
index 9bcf430ff90..e523c7cbb14 100644
--- a/src/libstd/trie.rs
+++ b/src/libstd/trie.rs
@@ -48,12 +48,6 @@ impl<T> Mutable for TrieMap<T> {
 }
 
 impl<T> Map<uint, T> for TrieMap<T> {
-    /// Return true if the map contains a value for the specified key
-    #[inline]
-    fn contains_key(&self, key: &uint) -> bool {
-        self.find(key).is_some()
-    }
-
     /// Return a reference to the value corresponding to the key
     #[inline]
     fn find<'a>(&'a self, key: &uint) -> Option<&'a T> {