| ... | @@ -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 => { |