| ... | ... | @@ -1140,10 +1140,16 @@ pub const DeclGen = struct { |
| 1140 | 1140 | const index = ty.unionTagFieldIndex(union_obj.tag, dg.module).?; |
| 1141 | 1141 | const field_ty = ty.unionFields().values()[index].ty; |
| 1142 | 1142 | const field_name = ty.unionFields().keys()[index]; |
| 1143 | var it = ty.unionFields().iterator(); |
| 1143 | 1144 | if (field_ty.hasRuntimeBits()) { |
| 1144 | 1145 | try writer.print(".{ } = ", .{fmtIdent(field_name)}); |
| 1145 | 1146 | try dg.renderValue(writer, field_ty, union_obj.val, .Initializer); |
| 1146 | | } else try writer.writeByte('0'); |
| 1147 | } else while (it.next()) |field| { |
| 1148 | if (!field.value_ptr.ty.hasRuntimeBits()) continue; |
| 1149 | try writer.print(".{ } = ", .{fmtIdent(field.key_ptr.*)}); |
| 1150 | try dg.renderValue(writer, field.value_ptr.ty, Value.undef, .Initializer); |
| 1151 | break; |
| 1152 | } else try writer.writeAll(".empty_union = 0"); |
| 1147 | 1153 | if (ty.unionTagTypeSafety()) |_| try writer.writeByte('}'); |
| 1148 | 1154 | try writer.writeByte('}'); |
| 1149 | 1155 | }, |