Skip to content

Commit b4c75a9

Browse files
---
yaml --- r: 64575 b: refs/heads/snap-stage3 c: a8870df h: refs/heads/master i: 64573: 062b2f1 64571: 4e29d23 64567: a38d112 64559: 6321232 64543: 3816490 64511: 73dd451 v: v3
1 parent b2f6e14 commit b4c75a9

File tree

2 files changed

+6
-12
lines changed

2 files changed

+6
-12
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: 2d28d645422c1617be58c8ca7ad9a457264ca850
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: fc058191818e4440d36e5ed4ef61bc0a9711be11
4+
refs/heads/snap-stage3: a8870dfbb527ab1c3f740ddb3d3f73a5ce5e9705
55
refs/heads/try: 7b78b52e602bb3ea8174f9b2006bff3315f03ef9
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/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)