mirror of
https://github.com/rust-lang/rust.git
synced 2024-11-26 00:34:06 +00:00
Rollup merge of #32668 - frewsxcv:hashmap-address-fixme, r=alexcrichton
Address FIXMEs related to short lifetimes in `HashMap`. None
This commit is contained in:
commit
9ce61702b3
@ -428,10 +428,7 @@ fn robin_hood<'a, K: 'a, V: 'a>(bucket: FullBucketMut<'a, K, V>,
|
||||
mut val: V)
|
||||
-> &'a mut V {
|
||||
let starting_index = bucket.index();
|
||||
let size = {
|
||||
let table = bucket.table(); // FIXME "lifetime too short".
|
||||
table.size()
|
||||
};
|
||||
let size = bucket.table().size();
|
||||
// Save the *starting point*.
|
||||
let mut bucket = bucket.stash();
|
||||
// There can be at most `size - dib` buckets to displace, because
|
||||
@ -744,10 +741,9 @@ impl<K, V, S> HashMap<K, V, S>
|
||||
let h = bucket.hash();
|
||||
let (b, k, v) = bucket.take();
|
||||
self.insert_hashed_ordered(h, k, v);
|
||||
{
|
||||
let t = b.table(); // FIXME "lifetime too short".
|
||||
if t.size() == 0 { break }
|
||||
};
|
||||
if b.table().size() == 0 {
|
||||
break;
|
||||
}
|
||||
b.into_bucket()
|
||||
}
|
||||
Empty(b) => b.into_bucket()
|
||||
|
Loading…
Reference in New Issue
Block a user