| ... | @@ -428,7 +428,7 @@ pub fn HashMapUnmanaged( | ... | @@ -428,7 +428,7 @@ pub fn HashMapUnmanaged( |
| 428 | if (self.metadata) |_| { | 428 | if (self.metadata) |_| { |
| 429 | self.initMetadatas(); | 429 | self.initMetadatas(); |
| 430 | self.size = 0; | 430 | self.size = 0; |
| 431 | self.available = 0; | 431 | self.available = @truncate(u32, (self.capacity() * MaxLoadPercentage) / 100); |
| 432 | } | 432 | } |
| 433 | } | 433 | } |
| 434 | | 434 | |
| ... | @@ -864,6 +864,11 @@ test "std.hash_map clearRetainingCapacity" { | ... | @@ -864,6 +864,11 @@ test "std.hash_map clearRetainingCapacity" { |
| 864 | expectEqual(map.get(1).?, 1); | 864 | expectEqual(map.get(1).?, 1); |
| 865 | expectEqual(map.count(), 1); | 865 | expectEqual(map.count(), 1); |
| 866 | | 866 | |
| | 867 | map.clearRetainingCapacity(); |
| | 868 | map.putAssumeCapacity(1, 1); |
| | 869 | expectEqual(map.get(1).?, 1); |
| | 870 | expectEqual(map.count(), 1); |
| | 871 | |
| 867 | const cap = map.capacity(); | 872 | const cap = map.capacity(); |
| 868 | expect(cap > 0); | 873 | expect(cap > 0); |
| 869 | | 874 | |