commit 58d4d083eaf85a9b5ae9ab732e35698e645629c1 (tree)
parent 30e09270fbba848d9d65d918f4d78f2fb80a32a7
Author: Jakub Konka <kubkon@jakubkonka.com>
Date: Sun, 20 Nov 2022 21:33:05 +0100
value: account for undef value for ptr in slice in hashUncoerced
Diffstat:
1 file changed, 6 insertions(+), 1 deletion(-)
diff --git a/src/value.zig b/src/value.zig
@@ -2572,7 +2572,12 @@ pub const Value = extern union {
},
.Float, .ComptimeFloat => std.hash.autoHash(hasher, @bitCast(u128, val.toFloat(f128))),
.Bool, .Int, .ComptimeInt, .Pointer, .Fn => switch (val.tag()) {
- .slice => val.castTag(.slice).?.data.ptr.hashPtr(hasher, mod.getTarget()),
+ .slice => {
+ const slice = val.castTag(.slice).?.data;
+ var ptr_buf: Type.SlicePtrFieldTypeBuffer = undefined;
+ const ptr_ty = ty.slicePtrFieldType(&ptr_buf);
+ slice.ptr.hashUncoerced(ptr_ty, hasher, mod);
+ },
else => val.hashPtr(hasher, mod.getTarget()),
},
.Array, .Vector => {