Skip to content

Commit a8870df

Browse files
Minor cleanup of hashmap
1 parent fc05819 commit a8870df

File tree

1 file changed

+5
-11
lines changed

1 file changed

+5
-11
lines changed

src/libstd/hashmap.rs

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -255,11 +255,8 @@ impl<K:Hash + Eq,V> HashMap<K, V> {
255255
let len_buckets = self.buckets.len();
256256
let bucket = self.buckets[idx].take();
257257

258-
let value = match bucket {
259-
None => None,
260-
Some(Bucket{value, _}) => {
261-
Some(value)
262-
},
258+
let value = do bucket.map_consume |bucket| {
259+
bucket.value
263260
};
264261

265262
/* re-inserting buckets may cause changes in size, so remember
@@ -505,7 +502,6 @@ impl<K: Hash + Eq, V> HashMap<K, V> {
505502
// `consume_rev_iter` is more efficient than `consume_iter` for vectors
506503
HashMapConsumeIterator {iter: self.buckets.consume_rev_iter()}
507504
}
508-
509505
}
510506

511507
impl<K: Hash + Eq, V: Clone> HashMap<K, V> {
@@ -524,14 +520,12 @@ impl<K:Hash + Eq,V:Eq> Eq for HashMap<K, V> {
524520
fn eq(&self, other: &HashMap<K, V>) -> bool {
525521
if self.len() != other.len() { return false; }
526522

527-
for self.iter().advance |(key, value)| {
523+
do self.iter().all |(key, value)| {
528524
match other.find(key) {
529-
None => return false,
530-
Some(v) => if value != v { return false },
525+
None => false,
526+
Some(v) => value == v
531527
}
532528
}
533-
534-
true
535529
}
536530

537531
fn ne(&self, other: &HashMap<K, V>) -> bool { !self.eq(other) }

0 commit comments

Comments
 (0)