| ... | @@ -18145,10 +18145,16 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai | ... | @@ -18145,10 +18145,16 @@ fn zirTypeInfo(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 18145 | | 18145 | |
| 18146 | const ret_ty_opt = try pt.intern(.{ .opt = .{ | 18146 | const ret_ty_opt = try pt.intern(.{ .opt = .{ |
| 18147 | .ty = try pt.intern(.{ .opt_type = .type_type }), | 18147 | .ty = try pt.intern(.{ .opt_type = .type_type }), |
| 18148 | .val = if (func_ty_info.return_type == .generic_poison_type) | 18148 | .val = opt_val: { |
| 18149 | .none | 18149 | const ret_ty: Type = .fromInterned(func_ty_info.return_type); |
| 18150 | else | 18150 | if (ret_ty.toIntern() == .generic_poison_type) break :opt_val .none; |
| 18151 | func_ty_info.return_type, | 18151 | if (ret_ty.zigTypeTag(zcu) == .error_union) { |
| | 18152 | if (ret_ty.errorUnionPayload(zcu).toIntern() == .generic_poison_type) { |
| | 18153 | break :opt_val .none; |
| | 18154 | } |
| | 18155 | } |
| | 18156 | break :opt_val ret_ty.toIntern(); |
| | 18157 | }, |
| 18152 | } }); | 18158 | } }); |
| 18153 | | 18159 | |
| 18154 | const callconv_ty = try sema.getBuiltinType(src, .CallingConvention); | 18160 | const callconv_ty = try sema.getBuiltinType(src, .CallingConvention); |