| ... | @@ -14946,6 +14946,8 @@ static IrInstruction *ir_analyze_instruction_resolve_result(IrAnalyze *ira, IrIn | ... | @@ -14946,6 +14946,8 @@ static IrInstruction *ir_analyze_instruction_resolve_result(IrAnalyze *ira, IrIn |
| 14946 | return ira->codegen->invalid_instruction; | 14946 | return ira->codegen->invalid_instruction; |
| 14947 | IrInstruction *result_loc = ir_resolve_result(ira, &instruction->base, instruction->result_loc, | 14947 | IrInstruction *result_loc = ir_resolve_result(ira, &instruction->base, instruction->result_loc, |
| 14948 | implicit_elem_type, nullptr); | 14948 | implicit_elem_type, nullptr); |
| | 14949 | if (instr_is_unreachable(result_loc) || type_is_invalid(result_loc->value.type)) |
| | 14950 | return result_loc; |
| 14949 | ir_assert(result_loc->value.type->id == ZigTypeIdPointer, &instruction->base); | 14951 | ir_assert(result_loc->value.type->id == ZigTypeIdPointer, &instruction->base); |
| 14950 | ZigType *actual_elem_type = result_loc->value.type->data.pointer.child_type; | 14952 | ZigType *actual_elem_type = result_loc->value.type->data.pointer.child_type; |
| 14951 | if (actual_elem_type->id == ZigTypeIdOptional && implicit_elem_type->id != ZigTypeIdOptional) { | 14953 | if (actual_elem_type->id == ZigTypeIdOptional && implicit_elem_type->id != ZigTypeIdOptional) { |