| ... | ... | @@ -26017,13 +26017,12 @@ fn zirFuncFancy(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!A |
| 26017 | 26017 | break :cc .auto; |
| 26018 | 26018 | }; |
| 26019 | 26019 | |
| 26020 | | const ret_ty: Type = if (extra.data.bits.ret_ty_is_generic) |
| 26021 | | .generic_poison |
| 26022 | | else if (extra.data.bits.has_ret_ty_body) blk: { |
| 26020 | const ret_ty: Type = if (extra.data.bits.has_ret_ty_body) blk: { |
| 26023 | 26021 | const body_len = sema.code.extra[extra_index]; |
| 26024 | 26022 | extra_index += 1; |
| 26025 | 26023 | const body = sema.code.bodySlice(extra_index, body_len); |
| 26026 | 26024 | extra_index += body.len; |
| 26025 | if (extra.data.bits.ret_ty_is_generic) break :blk .generic_poison; |
| 26027 | 26026 | |
| 26028 | 26027 | const val = try sema.resolveGenericBody(block, ret_src, body, inst, Type.type, .{ .simple = .function_ret_ty }); |
| 26029 | 26028 | const ty = val.toType(); |
| ... | ... | @@ -26031,6 +26030,8 @@ fn zirFuncFancy(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!A |
| 26031 | 26030 | } else if (extra.data.bits.has_ret_ty_ref) blk: { |
| 26032 | 26031 | const ret_ty_ref: Zir.Inst.Ref = @enumFromInt(sema.code.extra[extra_index]); |
| 26033 | 26032 | extra_index += 1; |
| 26033 | if (extra.data.bits.ret_ty_is_generic) break :blk .generic_poison; |
| 26034 | |
| 26034 | 26035 | const ret_ty_air_ref = try sema.resolveInst(ret_ty_ref); |
| 26035 | 26036 | const ret_ty_val = try sema.resolveConstDefinedValue(block, ret_src, ret_ty_air_ref, .{ .simple = .function_ret_ty }); |
| 26036 | 26037 | break :blk ret_ty_val.toType(); |