From d63298da65df7fa2712bf9e9d65d36cd91af22fa Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Tue, 21 Nov 2023 13:44:03 +0200 Subject: InternPool: handle `funcZirBodyInst` for `func_coerced` Closes #18039 --- src/InternPool.zig | 7 +++++++ 1 file changed, 7 insertions(+) (limited to 'src/InternPool.zig') diff --git a/src/InternPool.zig b/src/InternPool.zig index 10016a9329..11204287f6 100644 --- a/src/InternPool.zig +++ b/src/InternPool.zig @@ -8301,6 +8301,13 @@ pub fn funcZirBodyInst(ip: *const InternPool, i: Index) Zir.Inst.Index { assert(ip.items.items(.tag)[func_decl_index] == .func_decl); break :b ip.items.items(.data)[func_decl_index] + zir_body_inst_field_index; }, + .func_coerced => { + const datas = ip.items.items(.data); + const uncoerced_func_index: Index = @enumFromInt(ip.extra.items[ + datas[@intFromEnum(i)] + std.meta.fieldIndex(Tag.FuncCoerced, "func").? + ]); + return ip.funcZirBodyInst(uncoerced_func_index); + }, else => unreachable, }; return @enumFromInt(ip.extra.items[extra_index]); -- cgit v1.2.3