aboutsummaryrefslogtreecommitdiff
path: root/lib/std/array_hash_map.zig
diff options
context:
space:
mode:
Diffstat (limited to 'lib/std/array_hash_map.zig')
-rw-r--r--lib/std/array_hash_map.zig5
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/std/array_hash_map.zig b/lib/std/array_hash_map.zig
index 4e18aecf9d..22c736d0a5 100644
--- a/lib/std/array_hash_map.zig
+++ b/lib/std/array_hash_map.zig
@@ -641,10 +641,13 @@ pub fn ArrayHashMapUnmanaged(
return self;
}
+ /// An empty `value_list` may be passed, in which case the values array becomes `undefined`.
pub fn reinit(self: *Self, gpa: Allocator, key_list: []const K, value_list: []const V) Oom!void {
try self.entries.resize(gpa, key_list.len);
@memcpy(self.keys(), key_list);
- if (@sizeOf(V) != 0) {
+ if (value_list.len == 0) {
+ @memset(self.values(), undefined);
+ } else {
assert(key_list.len == value_list.len);
@memcpy(self.values(), value_list);
}