authorgravatar for william@sengir.comWilliam Sengir <william@sengir.com> 2022-05-11 03:34:44-07:00
committergravatar for william@sengir.comWilliam Sengir <william@sengir.com> 2022-05-11 03:47:03-07:00
logbd32a0f3db2d03749e7aef22cbc2aa6f85b689d1
tree63bf26f353e75d1ec7a606992df7a1b48fcde279
parent6608fa135321c2caa989a4e0357307874c644b6b
signaturelock-open Commit is signed but in an unrecognized format.

Sema: add "declared here" note to `zirErrSetCast`


1 files changed, 12 insertions(+), 6 deletions(-)

src/Sema.zig+12-6
...@@ -14215,12 +14215,18 @@ fn zirErrSetCast(sema: *Sema, block: *Block, extended: Zir.Inst.Extended.InstDat...@@ -14215,12 +14215,18 @@ fn zirErrSetCast(sema: *Sema, block: *Block, extended: Zir.Inst.Extended.InstDat
14215 if (!dest_ty.isAnyError()) {14215 if (!dest_ty.isAnyError()) {
14216 const error_name = val.castTag(.@"error").?.data.name;14216 const error_name = val.castTag(.@"error").?.data.name;
14217 if (!dest_ty.errorSetHasField(error_name)) {14217 if (!dest_ty.errorSetHasField(error_name)) {
14218 return sema.fail(14218 const msg = msg: {
14219 block,14219 const msg = try sema.errMsg(
14220 src,14220 block,
14221 "error.{s} not a member of error set '{}'",14221 src,
14222 .{ error_name, dest_ty.fmt(sema.mod) },14222 "error.{s} not a member of error set '{}'",
14223 );14223 .{ error_name, dest_ty.fmt(sema.mod) },
14224 );
14225 errdefer msg.destroy(sema.gpa);
14226 try sema.addDeclaredHereNote(msg, dest_ty);
14227 break :msg msg;
14228 };
14229 return sema.failWithOwnedErrorMsg(block, msg);
14224 }14230 }
14225 }14231 }
1422614232