Commit 4f527e5d36

Andrew Kelley <andrew@ziglang.org>
2022-04-21 02:16:32
std: fix missing hash map safety
There was a missing compile error for calling ensureUnusedCapacity without a Context in the case that the Context is non-void.
1 parent 99112b6
Changed files (2)
lib/std/array_hash_map.zig
@@ -798,7 +798,7 @@ pub fn ArrayHashMapUnmanaged(
             allocator: Allocator,
             additional_capacity: usize,
         ) !void {
-            if (@sizeOf(ByIndexContext) != 0)
+            if (@sizeOf(Context) != 0)
                 @compileError("Cannot infer context " ++ @typeName(Context) ++ ", call ensureTotalCapacityContext instead.");
             return self.ensureUnusedCapacityContext(allocator, additional_capacity, undefined);
         }
lib/std/hash_map.zig
@@ -913,6 +913,8 @@ pub fn HashMapUnmanaged(
         }
 
         pub fn ensureUnusedCapacity(self: *Self, allocator: Allocator, additional_size: Size) Allocator.Error!void {
+            if (@sizeOf(Context) != 0)
+                @compileError("Cannot infer context " ++ @typeName(Context) ++ ", call ensureUnusedCapacityContext instead.");
             return ensureUnusedCapacityContext(self, allocator, additional_size, undefined);
         }
         pub fn ensureUnusedCapacityContext(self: *Self, allocator: Allocator, additional_size: Size, ctx: Context) Allocator.Error!void {