| ... | @@ -461,7 +461,7 @@ pub const Value = extern union { | ... | @@ -461,7 +461,7 @@ pub const Value = extern union { |
| 461 | => unreachable, | 461 | => unreachable, |
| 462 | | 462 | |
| 463 | .ty, .lazy_align => { | 463 | .ty, .lazy_align => { |
| 464 | const payload = self.castTag(.ty).?; | 464 | const payload = self.cast(Payload.Ty).?; |
| 465 | const new_payload = try arena.create(Payload.Ty); | 465 | const new_payload = try arena.create(Payload.Ty); |
| 466 | new_payload.* = .{ | 466 | new_payload.* = .{ |
| 467 | .base = payload.base, | 467 | .base = payload.base, |
| ... | @@ -718,7 +718,7 @@ pub const Value = extern union { | ... | @@ -718,7 +718,7 @@ pub const Value = extern union { |
| 718 | .lazy_align => { | 718 | .lazy_align => { |
| 719 | try out_stream.writeAll("@alignOf("); | 719 | try out_stream.writeAll("@alignOf("); |
| 720 | try val.castTag(.lazy_align).?.data.dump("", options, out_stream); | 720 | try val.castTag(.lazy_align).?.data.dump("", options, out_stream); |
| 721 | try out_stream.writeAll(")"); | 721 | return try out_stream.writeAll(")"); |
| 722 | }, | 722 | }, |
| 723 | .int_type => { | 723 | .int_type => { |
| 724 | const int_type = val.castTag(.int_type).?.data; | 724 | const int_type = val.castTag(.int_type).?.data; |
| ... | @@ -2478,6 +2478,13 @@ pub const Value = extern union { | ... | @@ -2478,6 +2478,13 @@ pub const Value = extern union { |
| 2478 | .the_only_possible_value, | 2478 | .the_only_possible_value, |
| 2479 | => return hashInt(ptr_val, hasher, target), | 2479 | => return hashInt(ptr_val, hasher, target), |
| 2480 | | 2480 | |
| | 2481 | .lazy_align => { |
| | 2482 | // Bit weird to have this here but this function is also called |
| | 2483 | // on integers. |
| | 2484 | const ty = ptr_val.castTag(.lazy_align).?.data; |
| | 2485 | ty.hashWithHasher(hasher, target); |
| | 2486 | }, |
| | 2487 | |
| 2481 | else => unreachable, | 2488 | else => unreachable, |
| 2482 | } | 2489 | } |
| 2483 | } | 2490 | } |