| ... | ... | @@ -408,6 +408,18 @@ pub const DeclGen = struct { |
| 408 | 408 | try dg.renderValue(writer, Type.usize, slice.len); |
| 409 | 409 | try writer.writeAll("}"); |
| 410 | 410 | }, |
| 411 | .elem_ptr => { |
| 412 | const elem_ptr = val.castTag(.elem_ptr).?.data; |
| 413 | var arena = std.heap.ArenaAllocator.init(dg.module.gpa); |
| 414 | defer arena.deinit(); |
| 415 | const elem_ptr_ty = try ty.elemPtrType(arena.allocator()); |
| 416 | |
| 417 | try writer.writeAll("(&(("); |
| 418 | try dg.renderType(writer, ty); |
| 419 | try writer.writeByte(')'); |
| 420 | try dg.renderValue(writer, elem_ptr_ty, elem_ptr.array_ptr); |
| 421 | try writer.print(")[{d}])", .{elem_ptr.index}); |
| 422 | }, |
| 411 | 423 | .function => { |
| 412 | 424 | const func = val.castTag(.function).?.data; |
| 413 | 425 | try dg.renderDeclName(func.owner_decl, writer); |