| ... | ... | @@ -14215,12 +14215,18 @@ fn zirErrSetCast(sema: *Sema, block: *Block, extended: Zir.Inst.Extended.InstDat |
| 14215 | 14215 | if (!dest_ty.isAnyError()) { |
| 14216 | 14216 | const error_name = val.castTag(.@"error").?.data.name; |
| 14217 | 14217 | if (!dest_ty.errorSetHasField(error_name)) { |
| 14218 | | return sema.fail( |
| 14219 | | block, |
| 14220 | | src, |
| 14221 | | "error.{s} not a member of error set '{}'", |
| 14222 | | .{ error_name, dest_ty.fmt(sema.mod) }, |
| 14223 | | ); |
| 14218 | const msg = msg: { |
| 14219 | const msg = try sema.errMsg( |
| 14220 | block, |
| 14221 | src, |
| 14222 | "error.{s} not a member of error set '{}'", |
| 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 | } |
| 14226 | 14232 | |