zig

fork of https://codeberg.org/ziglang/zig
Log | Files | Refs | README | LICENSE

commit 2b3b355a23bea47aacbdfd56b853abc83e2f3ed6 (tree)
parent 3fdffe85c0e51d1ec27e6ab4367a6293c18ce44c
Author: Julius Putra Tanu Setiaji <indocomsoft@gmail.com>
Date:   Mon, 28 Dec 2020 09:43:52 +0800

Add compileError message for StringHashMap in AutoHashMap

Diffstat:
Mlib/std/hash_map.zig | 11+++++++++++
1 file changed, 11 insertions(+), 0 deletions(-)

diff --git a/lib/std/hash_map.zig b/lib/std/hash_map.zig @@ -17,6 +17,17 @@ const Allocator = mem.Allocator; const Wyhash = std.hash.Wyhash; pub fn getAutoHashFn(comptime K: type) (fn (K) u64) { + comptime { + assert(@hasDecl(std, "StringHashMap")); // detect when the following message needs updated + if (K == []const u8) { + @compileError("std.auto_hash.autoHash does not allow slices here (" ++ + @typeName(K) ++ + ") because the intent is unclear. " ++ + "Consider using std.StringHashMap for hashing the contents of []const u8. " ++ + "Alternatively, consider using std.auto_hash.hash or providing your own hash function instead."); + } + } + return struct { fn hash(key: K) u64 { if (comptime trait.hasUniqueRepresentation(K)) {