diff --git a/src/Sema.zig b/src/Sema.zig index 753ef8fb9c..6d5480c53d 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -8398,8 +8398,15 @@ fn resolvePeerTypes( continue; } - // TODO error notes pointing out each type - return sema.mod.fail(&block.base, src, "incompatible types: '{}' and '{}'", .{ chosen_ty, candidate_ty }); + const msg = msg: { + const msg = try sema.mod.errMsg(&block.base, src, "incompatible types: '{}' and '{}'", .{ chosen_ty, candidate_ty }); + errdefer msg.destroy(sema.gpa); + // TODO add error notes + // try sema.mod.errNote(&block.base, chosen.src, msg, "type '{}' here", .{chosen_ty}); + // try sema.mod.errNote(&block.base, candidate.src, msg, "type '{}' here", .{candidate_ty}); + break :msg msg; + }; + return sema.mod.failWithOwnedErrorMsg(&block.base, msg); } return sema.typeOf(chosen);