sentientwaffle ef0566df78 std: count hash_map tombstones as available
When entries are inserted and removed into a hash map at an equivalent rate (maintaining a mostly-consistent total count of entries), it should never need to be resized. But `HashMapUnmanaged.available` does not presently count tombstoned slots as "available", so this put/remove pattern eventually panics (assertion failure) when `available` reaches `0`.

The solution implemented here is to count tombstoned slots as "available". Another approach (which hashbrown (b3eaf32e60/src/raw/mod.rs (L1455-L1542)) takes) would be to rehash all entries in place when there are too many tombstones. This is more complex but avoids an `O(n)` bad case when the hash map is full of many tombstones.
2021-12-16 19:11:53 -08:00
..
2021-12-01 15:19:29 -07:00
2021-12-12 18:49:17 +01:00
2021-11-15 20:04:55 -05:00
2021-11-15 04:47:57 +01:00
2021-12-08 22:32:31 -07:00
2021-12-02 12:35:17 -08:00
2021-12-15 14:23:32 -07:00
2021-10-27 16:07:48 -04:00