commit ae6f3291c0e6a3f66250072d2ec648277cddfdda (tree)
parent f70160f89c20fe46d0a1f323121195d6dfb7ca16
Author: Vexu <git@vexu.eu>
Date: Wed, 11 Nov 2020 14:05:43 +0200
std: fix HashMap.clearRetainingCapacity
Diffstat:
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/lib/std/hash_map.zig b/lib/std/hash_map.zig
@@ -428,7 +428,7 @@ pub fn HashMapUnmanaged(
if (self.metadata) |_| {
self.initMetadatas();
self.size = 0;
- self.available = 0;
+ self.available = @truncate(u32, (self.capacity() * MaxLoadPercentage) / 100);
}
}
@@ -864,6 +864,11 @@ test "std.hash_map clearRetainingCapacity" {
expectEqual(map.get(1).?, 1);
expectEqual(map.count(), 1);
+ map.clearRetainingCapacity();
+ map.putAssumeCapacity(1, 1);
+ expectEqual(map.get(1).?, 1);
+ expectEqual(map.count(), 1);
+
const cap = map.capacity();
expect(cap > 0);