| ... | ... | @@ -559,6 +559,7 @@ pub const DeclGen = struct { |
| 559 | 559 | try writer.writeByte(')'); |
| 560 | 560 | } |
| 561 | 561 | switch (ptr_val.tag()) { |
| 562 | .int_u64, .one => try writer.print("{x}", .{try dg.fmtIntLiteral(Type.usize, ptr_val)}), |
| 562 | 563 | .decl_ref_mut, .decl_ref, .variable => { |
| 563 | 564 | const decl_index = switch (ptr_val.tag()) { |
| 564 | 565 | .decl_ref => ptr_val.castTag(.decl_ref).?.data, |
| ... | ... | @@ -640,6 +641,9 @@ pub const DeclGen = struct { |
| 640 | 641 | }; |
| 641 | 642 | |
| 642 | 643 | if (field_info.ty.hasRuntimeBitsIgnoreComptime()) { |
| 644 | // Ensure complete type definition is visible before accessing fields. |
| 645 | try dg.renderType(std.io.null_writer, field_ptr.container_ty, .Complete); |
| 646 | |
| 643 | 647 | try writer.writeAll("&("); |
| 644 | 648 | try dg.renderParentPtr(writer, field_ptr.container_ptr, container_ptr_ty); |
| 645 | 649 | try writer.writeAll(")->"); |
| ... | ... | @@ -672,6 +676,9 @@ pub const DeclGen = struct { |
| 672 | 676 | }; |
| 673 | 677 | const container_ptr_ty = Type.initPayload(&container_ptr_ty_pl.base); |
| 674 | 678 | |
| 679 | // Ensure complete type definition is visible before accessing fields. |
| 680 | try dg.renderType(std.io.null_writer, payload_ptr.container_ty, .Complete); |
| 681 | |
| 675 | 682 | try writer.writeAll("&("); |
| 676 | 683 | try dg.renderParentPtr(writer, payload_ptr.container_ptr, container_ptr_ty); |
| 677 | 684 | try writer.writeAll(")->payload"); |