authorgravatar for joachim.schmidt557@outlook.comJoachim Schmidt <joachim.schmidt557@outlook.com> 2021-06-19 17:16:24+08:00
committergravatar for joachim.schmidt557@outlook.comJoachim Schmidt <joachim.schmidt557@outlook.com> 2021-08-04 09:27:48+02:00
log0bef271e75657195145a519199ce12b97db246f4
tree34cb8a6378e15d87345ab037ee836a3eacb2950c
parentaad4598367b136a06e3569373be7da8febea7f31
signaturelock-open Commit is signed but in an unrecognized format.

stage2 Sema: Add error notes to unresolvable peer types


1 files changed, 9 insertions(+), 2 deletions(-)

src/Sema.zig+9-2
...@@ -8398,8 +8398,15 @@ fn resolvePeerTypes(...@@ -8398,8 +8398,15 @@ fn resolvePeerTypes(
8398 continue;8398 continue;
8399 }8399 }
84008400
8401 // TODO error notes pointing out each type8401 const msg = msg: {
8402 return sema.mod.fail(&block.base, src, "incompatible types: '{}' and '{}'", .{ chosen_ty, candidate_ty });8402 const msg = try sema.mod.errMsg(&block.base, src, "incompatible types: '{}' and '{}'", .{ chosen_ty, candidate_ty });
8403 errdefer msg.destroy(sema.gpa);
8404 // TODO add error notes
8405 // try sema.mod.errNote(&block.base, chosen.src, msg, "type '{}' here", .{chosen_ty});
8406 // try sema.mod.errNote(&block.base, candidate.src, msg, "type '{}' here", .{candidate_ty});
8407 break :msg msg;
8408 };
8409 return sema.mod.failWithOwnedErrorMsg(&block.base, msg);
8403 }8410 }
84048411
8405 return sema.typeOf(chosen);8412 return sema.typeOf(chosen);