authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2020-11-11 14:05:43+02:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-11-11 19:33:03-07:00
log1aec406311c69b366ec1da01975e0a3704a161b8
tree70073074548d2e122abbf2178f23200b7a9396ae
parentb6350a2b3f5c92ff4f0db152684f9c55bedb0bf6

std: fix HashMap.clearRetainingCapacity


1 files changed, 6 insertions(+), 1 deletions(-)

lib/std/hash_map.zig+6-1
...@@ -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 }
434434
...@@ -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);
866866
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);
869874