authorgravatar for kubkon@jakubkonka.comJakub Konka <kubkon@jakubkonka.com> 2022-11-20 21:33:05+01:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2023-01-09 14:38:04-07:00
log58d4d083eaf85a9b5ae9ab732e35698e645629c1
tree4722b7fdbbf3ade9d8a96c5781ba127463b5b3ed
parent30e09270fbba848d9d65d918f4d78f2fb80a32a7

value: account for undef value for ptr in slice in hashUncoerced


1 files changed, 6 insertions(+), 1 deletions(-)

src/value.zig+6-1
...@@ -2572,7 +2572,12 @@ pub const Value = extern union {...@@ -2572,7 +2572,12 @@ pub const Value = extern union {
2572 },2572 },
2573 .Float, .ComptimeFloat => std.hash.autoHash(hasher, @bitCast(u128, val.toFloat(f128))),2573 .Float, .ComptimeFloat => std.hash.autoHash(hasher, @bitCast(u128, val.toFloat(f128))),
2574 .Bool, .Int, .ComptimeInt, .Pointer, .Fn => switch (val.tag()) {2574 .Bool, .Int, .ComptimeInt, .Pointer, .Fn => switch (val.tag()) {
2575 .slice => val.castTag(.slice).?.data.ptr.hashPtr(hasher, mod.getTarget()),2575 .slice => {
2576 const slice = val.castTag(.slice).?.data;
2577 var ptr_buf: Type.SlicePtrFieldTypeBuffer = undefined;
2578 const ptr_ty = ty.slicePtrFieldType(&ptr_buf);
2579 slice.ptr.hashUncoerced(ptr_ty, hasher, mod);
2580 },
2576 else => val.hashPtr(hasher, mod.getTarget()),2581 else => val.hashPtr(hasher, mod.getTarget()),
2577 },2582 },
2578 .Array, .Vector => {2583 .Array, .Vector => {