| ... | @@ -2643,11 +2643,13 @@ pub fn fail( | ... | @@ -2643,11 +2643,13 @@ pub fn fail( |
| 2643 | } | 2643 | } |
| 2644 | | 2644 | |
| 2645 | fn failWithTypeMismatch(sema: *Sema, block: *Block, src: LazySrcLoc, expected: Type, found: Type) CompileError { | 2645 | fn failWithTypeMismatch(sema: *Sema, block: *Block, src: LazySrcLoc, expected: Type, found: Type) CompileError { |
| 2646 | const err_msg = try sema.typeMismatchErrMsg(src, expected, found); | 2646 | return sema.failWithOwnedErrorMsg(block, msg: { |
| 2647 | errdefer err_msg.destroy(sema.gpa); | 2647 | const msg = try sema.typeMismatchErrMsg(src, expected, found); |
| 2648 | try addDeclaredHereNote(sema, err_msg, expected); | 2648 | errdefer msg.destroy(sema.gpa); |
| 2649 | try addDeclaredHereNote(sema, err_msg, found); | 2649 | try addDeclaredHereNote(sema, msg, expected); |
| 2650 | return sema.failWithOwnedErrorMsg(block, err_msg); | 2650 | try addDeclaredHereNote(sema, msg, found); |
| | 2651 | break :msg msg; |
| | 2652 | }); |
| 2651 | } | 2653 | } |
| 2652 | | 2654 | |
| 2653 | pub fn failWithOwnedErrorMsg(sema: *Sema, block: ?*Block, err_msg: *Zcu.ErrorMsg) error{ AnalysisFail, OutOfMemory } { | 2655 | pub fn failWithOwnedErrorMsg(sema: *Sema, block: ?*Block, err_msg: *Zcu.ErrorMsg) error{ AnalysisFail, OutOfMemory } { |