| ... | ... | @@ -153,6 +153,7 @@ pub const Block = struct { |
| 153 | 153 | pub const Inlining = struct { |
| 154 | 154 | comptime_result: Air.Inst.Ref, |
| 155 | 155 | merges: Merges, |
| 156 | err: ?*Module.ErrorMsg = null, |
| 156 | 157 | }; |
| 157 | 158 | |
| 158 | 159 | pub const Merges = struct { |
| ... | ... | @@ -1429,10 +1430,10 @@ pub fn fail( |
| 1429 | 1430 | args: anytype, |
| 1430 | 1431 | ) CompileError { |
| 1431 | 1432 | const err_msg = try sema.errMsg(block, src, format, args); |
| 1432 | | return sema.failWithOwnedErrorMsg(err_msg); |
| 1433 | return sema.failWithOwnedErrorMsg(block, err_msg); |
| 1433 | 1434 | } |
| 1434 | 1435 | |
| 1435 | | fn failWithOwnedErrorMsg(sema: *Sema, err_msg: *Module.ErrorMsg) CompileError { |
| 1436 | fn failWithOwnedErrorMsg(sema: *Sema, block: *Block, err_msg: *Module.ErrorMsg) CompileError { |
| 1436 | 1437 | @setCold(true); |
| 1437 | 1438 | |
| 1438 | 1439 | if (crash_report.is_enabled and sema.mod.comp.debug_compile_errors) { |
| ... | ... | @@ -1445,6 +1446,7 @@ fn failWithOwnedErrorMsg(sema: *Sema, err_msg: *Module.ErrorMsg) CompileError { |
| 1445 | 1446 | } |
| 1446 | 1447 | |
| 1447 | 1448 | const mod = sema.mod; |
| 1449 | if (block.inlining) |some| some.err = err_msg; |
| 1448 | 1450 | |
| 1449 | 1451 | { |
| 1450 | 1452 | errdefer err_msg.destroy(mod.gpa); |
| ... | ... | @@ -1969,7 +1971,7 @@ fn zirEnumDecl( |
| 1969 | 1971 | try sema.errNote(block, other_tag_src, msg, "other tag here", .{}); |
| 1970 | 1972 | break :msg msg; |
| 1971 | 1973 | }; |
| 1972 | | return sema.failWithOwnedErrorMsg(msg); |
| 1974 | return sema.failWithOwnedErrorMsg(block, msg); |
| 1973 | 1975 | } |
| 1974 | 1976 | |
| 1975 | 1977 | if (has_tag_value) { |
| ... | ... | @@ -2316,7 +2318,7 @@ fn zirIndexablePtrLen(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileE |
| 2316 | 2318 | ); |
| 2317 | 2319 | break :msg msg; |
| 2318 | 2320 | }; |
| 2319 | | return sema.failWithOwnedErrorMsg(msg); |
| 2321 | return sema.failWithOwnedErrorMsg(block, msg); |
| 2320 | 2322 | } |
| 2321 | 2323 | |
| 2322 | 2324 | return sema.fieldVal(block, src, object, "len", src); |
| ... | ... | @@ -2772,7 +2774,7 @@ fn validateUnionInit( |
| 2772 | 2774 | try sema.addDeclaredHereNote(msg, union_ty); |
| 2773 | 2775 | break :msg msg; |
| 2774 | 2776 | }; |
| 2775 | | return sema.failWithOwnedErrorMsg(msg); |
| 2777 | return sema.failWithOwnedErrorMsg(block, msg); |
| 2776 | 2778 | } |
| 2777 | 2779 | |
| 2778 | 2780 | if (is_comptime or block.is_comptime) { |
| ... | ... | @@ -2889,7 +2891,7 @@ fn validateStructInit( |
| 2889 | 2891 | try sema.errNote(block, other_field_src, msg, "other field here", .{}); |
| 2890 | 2892 | break :msg msg; |
| 2891 | 2893 | }; |
| 2892 | | return sema.failWithOwnedErrorMsg(msg); |
| 2894 | return sema.failWithOwnedErrorMsg(block, msg); |
| 2893 | 2895 | } |
| 2894 | 2896 | found_fields[field_index] = field_ptr; |
| 2895 | 2897 | } |
| ... | ... | @@ -2936,7 +2938,7 @@ fn validateStructInit( |
| 2936 | 2938 | "struct '{s}' declared here", |
| 2937 | 2939 | .{fqn}, |
| 2938 | 2940 | ); |
| 2939 | | return sema.failWithOwnedErrorMsg(msg); |
| 2941 | return sema.failWithOwnedErrorMsg(block, msg); |
| 2940 | 2942 | } |
| 2941 | 2943 | |
| 2942 | 2944 | return; |
| ... | ... | @@ -3043,7 +3045,7 @@ fn validateStructInit( |
| 3043 | 3045 | "struct '{s}' declared here", |
| 3044 | 3046 | .{fqn}, |
| 3045 | 3047 | ); |
| 3046 | | return sema.failWithOwnedErrorMsg(msg); |
| 3048 | return sema.failWithOwnedErrorMsg(block, msg); |
| 3047 | 3049 | } |
| 3048 | 3050 | |
| 3049 | 3051 | if (struct_is_comptime) { |
| ... | ... | @@ -3215,7 +3217,7 @@ fn failWithBadMemberAccess( |
| 3215 | 3217 | try sema.addDeclaredHereNote(msg, agg_ty); |
| 3216 | 3218 | break :msg msg; |
| 3217 | 3219 | }; |
| 3218 | | return sema.failWithOwnedErrorMsg(msg); |
| 3220 | return sema.failWithOwnedErrorMsg(block, msg); |
| 3219 | 3221 | } |
| 3220 | 3222 | |
| 3221 | 3223 | fn failWithBadStructFieldAccess( |
| ... | ... | @@ -3241,7 +3243,7 @@ fn failWithBadStructFieldAccess( |
| 3241 | 3243 | try sema.mod.errNoteNonLazy(struct_obj.srcLoc(), msg, "struct declared here", .{}); |
| 3242 | 3244 | break :msg msg; |
| 3243 | 3245 | }; |
| 3244 | | return sema.failWithOwnedErrorMsg(msg); |
| 3246 | return sema.failWithOwnedErrorMsg(block, msg); |
| 3245 | 3247 | } |
| 3246 | 3248 | |
| 3247 | 3249 | fn failWithBadUnionFieldAccess( |
| ... | ... | @@ -3267,7 +3269,7 @@ fn failWithBadUnionFieldAccess( |
| 3267 | 3269 | try sema.mod.errNoteNonLazy(union_obj.srcLoc(), msg, "union declared here", .{}); |
| 3268 | 3270 | break :msg msg; |
| 3269 | 3271 | }; |
| 3270 | | return sema.failWithOwnedErrorMsg(msg); |
| 3272 | return sema.failWithOwnedErrorMsg(block, msg); |
| 3271 | 3273 | } |
| 3272 | 3274 | |
| 3273 | 3275 | fn addDeclaredHereNote(sema: *Sema, parent: *Module.ErrorMsg, decl_ty: Type) !void { |
| ... | ... | @@ -3685,7 +3687,7 @@ fn zirCImport(sema: *Sema, parent_block: *Block, inst: Zir.Inst.Index) CompileEr |
| 3685 | 3687 | @import("clang.zig").Stage2ErrorMsg.delete(c_import_res.errors.ptr, c_import_res.errors.len); |
| 3686 | 3688 | break :msg msg; |
| 3687 | 3689 | }; |
| 3688 | | return sema.failWithOwnedErrorMsg(msg); |
| 3690 | return sema.failWithOwnedErrorMsg(parent_block, msg); |
| 3689 | 3691 | } |
| 3690 | 3692 | const c_import_pkg = Package.create( |
| 3691 | 3693 | sema.gpa, |
| ... | ... | @@ -4043,7 +4045,7 @@ fn zirSetAlignStack(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileErr |
| 4043 | 4045 | try sema.errNote(block, src, msg, "other instance here", .{}); |
| 4044 | 4046 | break :msg msg; |
| 4045 | 4047 | }; |
| 4046 | | return sema.failWithOwnedErrorMsg(msg); |
| 4048 | return sema.failWithOwnedErrorMsg(block, msg); |
| 4047 | 4049 | } |
| 4048 | 4050 | gop.value_ptr.* = .{ .alignment = alignment, .src = src }; |
| 4049 | 4051 | } |
| ... | ... | @@ -4228,7 +4230,7 @@ fn lookupInNamespace( |
| 4228 | 4230 | } |
| 4229 | 4231 | break :msg msg; |
| 4230 | 4232 | }; |
| 4231 | | return sema.failWithOwnedErrorMsg(msg); |
| 4233 | return sema.failWithOwnedErrorMsg(block, msg); |
| 4232 | 4234 | }, |
| 4233 | 4235 | } |
| 4234 | 4236 | } else if (namespace.decls.get(ident_name)) |decl| { |
| ... | ... | @@ -4642,6 +4644,12 @@ fn analyzeCall( |
| 4642 | 4644 | _ = sema.analyzeBody(&child_block, fn_info.body) catch |err| switch (err) { |
| 4643 | 4645 | error.ComptimeReturn => break :result inlining.comptime_result, |
| 4644 | 4646 | error.ComptimeBreak => unreachable, // Can't break through a fn call. |
| 4647 | error.AnalysisFail => { |
| 4648 | const err_msg = inlining.err orelse return err; |
| 4649 | try sema.errNote(block, call_src, err_msg, "called from here", .{}); |
| 4650 | if (block.inlining) |some| some.err = err_msg; |
| 4651 | return err; |
| 4652 | }, |
| 4645 | 4653 | else => |e| return e, |
| 4646 | 4654 | }; |
| 4647 | 4655 | break :result try sema.analyzeBlockBody(block, call_src, &child_block, merges); |
| ... | ... | @@ -5266,7 +5274,7 @@ fn zirMergeErrorSets(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileEr |
| 5266 | 5274 | try sema.errNote(block, src, msg, "'||' merges error sets; 'or' performs boolean OR", .{}); |
| 5267 | 5275 | break :msg msg; |
| 5268 | 5276 | }; |
| 5269 | | return sema.failWithOwnedErrorMsg(msg); |
| 5277 | return sema.failWithOwnedErrorMsg(block, msg); |
| 5270 | 5278 | } |
| 5271 | 5279 | const lhs_ty = try sema.analyzeAsType(block, lhs_src, lhs); |
| 5272 | 5280 | const rhs_ty = try sema.analyzeAsType(block, rhs_src, rhs); |
| ... | ... | @@ -5396,7 +5404,7 @@ fn zirIntToEnum(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!A |
| 5396 | 5404 | ); |
| 5397 | 5405 | break :msg msg; |
| 5398 | 5406 | }; |
| 5399 | | return sema.failWithOwnedErrorMsg(msg); |
| 5407 | return sema.failWithOwnedErrorMsg(block, msg); |
| 5400 | 5408 | } |
| 5401 | 5409 | return sema.addConstant(dest_ty, int_val); |
| 5402 | 5410 | } |
| ... | ... | @@ -6606,7 +6614,7 @@ fn zirSwitchCond( |
| 6606 | 6614 | try sema.addDeclaredHereNote(msg, union_ty); |
| 6607 | 6615 | break :msg msg; |
| 6608 | 6616 | }; |
| 6609 | | return sema.failWithOwnedErrorMsg(msg); |
| 6617 | return sema.failWithOwnedErrorMsg(block, msg); |
| 6610 | 6618 | }; |
| 6611 | 6619 | return sema.unionToTag(block, enum_ty, operand, src); |
| 6612 | 6620 | }, |
| ... | ... | @@ -6686,7 +6694,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError |
| 6686 | 6694 | ); |
| 6687 | 6695 | break :msg msg; |
| 6688 | 6696 | }; |
| 6689 | | return sema.failWithOwnedErrorMsg(msg); |
| 6697 | return sema.failWithOwnedErrorMsg(block, msg); |
| 6690 | 6698 | } |
| 6691 | 6699 | |
| 6692 | 6700 | // Validate for duplicate items, missing else prong, and invalid range. |
| ... | ... | @@ -6778,7 +6786,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError |
| 6778 | 6786 | ); |
| 6779 | 6787 | break :msg msg; |
| 6780 | 6788 | }; |
| 6781 | | return sema.failWithOwnedErrorMsg(msg); |
| 6789 | return sema.failWithOwnedErrorMsg(block, msg); |
| 6782 | 6790 | } |
| 6783 | 6791 | }, |
| 6784 | 6792 | .under => { |
| ... | ... | @@ -6892,7 +6900,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError |
| 6892 | 6900 | "error set '{}' declared here", |
| 6893 | 6901 | .{operand_ty}, |
| 6894 | 6902 | ); |
| 6895 | | return sema.failWithOwnedErrorMsg(msg); |
| 6903 | return sema.failWithOwnedErrorMsg(block, msg); |
| 6896 | 6904 | } |
| 6897 | 6905 | |
| 6898 | 6906 | if (special_prong == .@"else") { |
| ... | ... | @@ -7571,7 +7579,7 @@ fn validateSwitchItemEnum( |
| 7571 | 7579 | ); |
| 7572 | 7580 | break :msg msg; |
| 7573 | 7581 | }; |
| 7574 | | return sema.failWithOwnedErrorMsg(msg); |
| 7582 | return sema.failWithOwnedErrorMsg(block, msg); |
| 7575 | 7583 | }; |
| 7576 | 7584 | const maybe_prev_src = seen_fields[field_index]; |
| 7577 | 7585 | seen_fields[field_index] = switch_prong_src; |
| ... | ... | @@ -7624,7 +7632,7 @@ fn validateSwitchDupe( |
| 7624 | 7632 | ); |
| 7625 | 7633 | break :msg msg; |
| 7626 | 7634 | }; |
| 7627 | | return sema.failWithOwnedErrorMsg(msg); |
| 7635 | return sema.failWithOwnedErrorMsg(block, msg); |
| 7628 | 7636 | } |
| 7629 | 7637 | |
| 7630 | 7638 | fn validateSwitchItemBool( |
| ... | ... | @@ -7693,7 +7701,7 @@ fn validateSwitchNoRange( |
| 7693 | 7701 | ); |
| 7694 | 7702 | break :msg msg; |
| 7695 | 7703 | }; |
| 7696 | | return sema.failWithOwnedErrorMsg(msg); |
| 7704 | return sema.failWithOwnedErrorMsg(block, msg); |
| 7697 | 7705 | } |
| 7698 | 7706 | |
| 7699 | 7707 | fn zirHasField(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { |
| ... | ... | @@ -11569,7 +11577,7 @@ fn zirStructInit( |
| 11569 | 11577 | try sema.errNote(block, other_field_src, msg, "other field here", .{}); |
| 11570 | 11578 | break :msg msg; |
| 11571 | 11579 | }; |
| 11572 | | return sema.failWithOwnedErrorMsg(msg); |
| 11580 | return sema.failWithOwnedErrorMsg(block, msg); |
| 11573 | 11581 | } |
| 11574 | 11582 | found_fields[field_index] = item.data.field_type; |
| 11575 | 11583 | field_inits[field_index] = sema.resolveInst(item.data.init); |
| ... | ... | @@ -11647,7 +11655,7 @@ fn finishStructInit( |
| 11647 | 11655 | "struct '{s}' declared here", |
| 11648 | 11656 | .{fqn}, |
| 11649 | 11657 | ); |
| 11650 | | return sema.failWithOwnedErrorMsg(msg); |
| 11658 | return sema.failWithOwnedErrorMsg(block, msg); |
| 11651 | 11659 | } |
| 11652 | 11660 | |
| 11653 | 11661 | const is_comptime = for (field_inits) |field_init| { |
| ... | ... | @@ -12130,7 +12138,7 @@ fn zirTagName(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air |
| 12130 | 12138 | try sema.mod.errNoteNonLazy(decl.srcLoc(), msg, "declared here", .{}); |
| 12131 | 12139 | break :msg msg; |
| 12132 | 12140 | }; |
| 12133 | | return sema.failWithOwnedErrorMsg(msg); |
| 12141 | return sema.failWithOwnedErrorMsg(block, msg); |
| 12134 | 12142 | }, |
| 12135 | 12143 | else => return sema.fail(block, operand_src, "expected enum or union; found {}", .{ |
| 12136 | 12144 | operand_ty, |
| ... | ... | @@ -12148,7 +12156,7 @@ fn zirTagName(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air |
| 12148 | 12156 | try sema.mod.errNoteNonLazy(enum_decl.srcLoc(), msg, "declared here", .{}); |
| 12149 | 12157 | break :msg msg; |
| 12150 | 12158 | }; |
| 12151 | | return sema.failWithOwnedErrorMsg(msg); |
| 12159 | return sema.failWithOwnedErrorMsg(block, msg); |
| 12152 | 12160 | }; |
| 12153 | 12161 | const field_name = enum_ty.enumFieldName(field_index); |
| 12154 | 12162 | return sema.addStrLit(block, field_name); |
| ... | ... | @@ -12624,7 +12632,7 @@ fn zirTruncate(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 12624 | 12632 | }); |
| 12625 | 12633 | break :msg msg; |
| 12626 | 12634 | }; |
| 12627 | | return sema.failWithOwnedErrorMsg(msg); |
| 12635 | return sema.failWithOwnedErrorMsg(block, msg); |
| 12628 | 12636 | } |
| 12629 | 12637 | } |
| 12630 | 12638 | |
| ... | ... | @@ -12884,7 +12892,7 @@ fn checkPtrOperand( |
| 12884 | 12892 | |
| 12885 | 12893 | break :msg msg; |
| 12886 | 12894 | }; |
| 12887 | | return sema.failWithOwnedErrorMsg(msg); |
| 12895 | return sema.failWithOwnedErrorMsg(block, msg); |
| 12888 | 12896 | }, |
| 12889 | 12897 | .Optional => if (ty.isPtrLikeOptional()) return, |
| 12890 | 12898 | else => {}, |
| ... | ... | @@ -12914,7 +12922,7 @@ fn checkPtrType( |
| 12914 | 12922 | |
| 12915 | 12923 | break :msg msg; |
| 12916 | 12924 | }; |
| 12917 | | return sema.failWithOwnedErrorMsg(msg); |
| 12925 | return sema.failWithOwnedErrorMsg(block, msg); |
| 12918 | 12926 | }, |
| 12919 | 12927 | .Optional => if (ty.isPtrLikeOptional()) return, |
| 12920 | 12928 | else => {}, |
| ... | ... | @@ -13037,7 +13045,7 @@ fn checkComptimeVarStore( |
| 13037 | 13045 | try sema.errNote(block, cond_src, msg, "runtime condition here", .{}); |
| 13038 | 13046 | break :msg msg; |
| 13039 | 13047 | }; |
| 13040 | | return sema.failWithOwnedErrorMsg(msg); |
| 13048 | return sema.failWithOwnedErrorMsg(block, msg); |
| 13041 | 13049 | } |
| 13042 | 13050 | if (block.runtime_loop) |loop_src| { |
| 13043 | 13051 | const msg = msg: { |
| ... | ... | @@ -13046,7 +13054,7 @@ fn checkComptimeVarStore( |
| 13046 | 13054 | try sema.errNote(block, loop_src, msg, "non-inline loop here", .{}); |
| 13047 | 13055 | break :msg msg; |
| 13048 | 13056 | }; |
| 13049 | | return sema.failWithOwnedErrorMsg(msg); |
| 13057 | return sema.failWithOwnedErrorMsg(block, msg); |
| 13050 | 13058 | } |
| 13051 | 13059 | unreachable; |
| 13052 | 13060 | } |
| ... | ... | @@ -13114,7 +13122,7 @@ fn checkSimdBinOp( |
| 13114 | 13122 | try sema.errNote(block, rhs_src, msg, "length {d} here", .{rhs_len}); |
| 13115 | 13123 | break :msg msg; |
| 13116 | 13124 | }; |
| 13117 | | return sema.failWithOwnedErrorMsg(msg); |
| 13125 | return sema.failWithOwnedErrorMsg(block, msg); |
| 13118 | 13126 | } |
| 13119 | 13127 | vec_len = try sema.usizeCast(block, lhs_src, lhs_len); |
| 13120 | 13128 | } else if (lhs_zig_ty_tag == .Vector or rhs_zig_ty_tag == .Vector) { |
| ... | ... | @@ -13132,7 +13140,7 @@ fn checkSimdBinOp( |
| 13132 | 13140 | } |
| 13133 | 13141 | break :msg msg; |
| 13134 | 13142 | }; |
| 13135 | | return sema.failWithOwnedErrorMsg(msg); |
| 13143 | return sema.failWithOwnedErrorMsg(block, msg); |
| 13136 | 13144 | } |
| 13137 | 13145 | const result_ty = try sema.resolvePeerTypes(block, src, &.{ uncasted_lhs, uncasted_rhs }, .{ |
| 13138 | 13146 | .override = &[_]LazySrcLoc{ lhs_src, rhs_src }, |
| ... | ... | @@ -14263,7 +14271,7 @@ fn validateVarType( |
| 14263 | 14271 | |
| 14264 | 14272 | break :msg msg; |
| 14265 | 14273 | }; |
| 14266 | | return sema.failWithOwnedErrorMsg(msg); |
| 14274 | return sema.failWithOwnedErrorMsg(block, msg); |
| 14267 | 14275 | } |
| 14268 | 14276 | |
| 14269 | 14277 | fn explainWhyTypeIsComptime( |
| ... | ... | @@ -15037,7 +15045,7 @@ fn namespaceLookup( |
| 15037 | 15045 | try sema.mod.errNoteNonLazy(decl.srcLoc(), msg, "declared here", .{}); |
| 15038 | 15046 | break :msg msg; |
| 15039 | 15047 | }; |
| 15040 | | return sema.failWithOwnedErrorMsg(msg); |
| 15048 | return sema.failWithOwnedErrorMsg(block, msg); |
| 15041 | 15049 | } |
| 15042 | 15050 | return decl; |
| 15043 | 15051 | } |
| ... | ... | @@ -15961,7 +15969,7 @@ fn coerce( |
| 15961 | 15969 | ); |
| 15962 | 15970 | break :msg msg; |
| 15963 | 15971 | }; |
| 15964 | | return sema.failWithOwnedErrorMsg(msg); |
| 15972 | return sema.failWithOwnedErrorMsg(block, msg); |
| 15965 | 15973 | }; |
| 15966 | 15974 | return sema.addConstant( |
| 15967 | 15975 | dest_ty, |
| ... | ... | @@ -17034,7 +17042,7 @@ fn coerceEnumToUnion( |
| 17034 | 17042 | try sema.addDeclaredHereNote(msg, union_ty); |
| 17035 | 17043 | break :msg msg; |
| 17036 | 17044 | }; |
| 17037 | | return sema.failWithOwnedErrorMsg(msg); |
| 17045 | return sema.failWithOwnedErrorMsg(block, msg); |
| 17038 | 17046 | }; |
| 17039 | 17047 | |
| 17040 | 17048 | const enum_tag = try sema.coerce(block, tag_ty, inst, inst_src); |
| ... | ... | @@ -17049,7 +17057,7 @@ fn coerceEnumToUnion( |
| 17049 | 17057 | try sema.addDeclaredHereNote(msg, union_ty); |
| 17050 | 17058 | break :msg msg; |
| 17051 | 17059 | }; |
| 17052 | | return sema.failWithOwnedErrorMsg(msg); |
| 17060 | return sema.failWithOwnedErrorMsg(block, msg); |
| 17053 | 17061 | }; |
| 17054 | 17062 | const field = union_obj.fields.values()[field_index]; |
| 17055 | 17063 | const field_ty = try sema.resolveTypeFields(block, inst_src, field.ty); |
| ... | ... | @@ -17064,7 +17072,7 @@ fn coerceEnumToUnion( |
| 17064 | 17072 | try sema.addDeclaredHereNote(msg, union_ty); |
| 17065 | 17073 | break :msg msg; |
| 17066 | 17074 | }; |
| 17067 | | return sema.failWithOwnedErrorMsg(msg); |
| 17075 | return sema.failWithOwnedErrorMsg(block, msg); |
| 17068 | 17076 | }; |
| 17069 | 17077 | |
| 17070 | 17078 | return sema.addConstant(union_ty, try Value.Tag.@"union".create(sema.arena, .{ |
| ... | ... | @@ -17084,7 +17092,7 @@ fn coerceEnumToUnion( |
| 17084 | 17092 | try sema.addDeclaredHereNote(msg, tag_ty); |
| 17085 | 17093 | break :msg msg; |
| 17086 | 17094 | }; |
| 17087 | | return sema.failWithOwnedErrorMsg(msg); |
| 17095 | return sema.failWithOwnedErrorMsg(block, msg); |
| 17088 | 17096 | } |
| 17089 | 17097 | |
| 17090 | 17098 | // If the union has all fields 0 bits, the union value is just the enum value. |
| ... | ... | @@ -17102,7 +17110,7 @@ fn coerceEnumToUnion( |
| 17102 | 17110 | try sema.addDeclaredHereNote(msg, union_ty); |
| 17103 | 17111 | break :msg msg; |
| 17104 | 17112 | }; |
| 17105 | | return sema.failWithOwnedErrorMsg(msg); |
| 17113 | return sema.failWithOwnedErrorMsg(block, msg); |
| 17106 | 17114 | } |
| 17107 | 17115 | |
| 17108 | 17116 | fn coerceAnonStructToUnion( |
| ... | ... | @@ -17131,7 +17139,7 @@ fn coerceAnonStructToUnion( |
| 17131 | 17139 | try sema.addDeclaredHereNote(msg, union_ty); |
| 17132 | 17140 | break :msg msg; |
| 17133 | 17141 | }; |
| 17134 | | return sema.failWithOwnedErrorMsg(msg); |
| 17142 | return sema.failWithOwnedErrorMsg(block, msg); |
| 17135 | 17143 | } |
| 17136 | 17144 | |
| 17137 | 17145 | const field_name = anon_struct.names[0]; |
| ... | ... | @@ -17176,7 +17184,7 @@ fn coerceArrayLike( |
| 17176 | 17184 | try sema.errNote(block, inst_src, msg, "source has length {d}", .{inst_len}); |
| 17177 | 17185 | break :msg msg; |
| 17178 | 17186 | }; |
| 17179 | | return sema.failWithOwnedErrorMsg(msg); |
| 17187 | return sema.failWithOwnedErrorMsg(block, msg); |
| 17180 | 17188 | } |
| 17181 | 17189 | |
| 17182 | 17190 | const target = sema.mod.getTarget(); |
| ... | ... | @@ -17248,7 +17256,7 @@ fn coerceTupleToArray( |
| 17248 | 17256 | try sema.errNote(block, inst_src, msg, "source has length {d}", .{inst_len}); |
| 17249 | 17257 | break :msg msg; |
| 17250 | 17258 | }; |
| 17251 | | return sema.failWithOwnedErrorMsg(msg); |
| 17259 | return sema.failWithOwnedErrorMsg(block, msg); |
| 17252 | 17260 | } |
| 17253 | 17261 | |
| 17254 | 17262 | const element_vals = try sema.arena.alloc(Value, dest_len); |
| ... | ... | @@ -18446,7 +18454,7 @@ fn resolvePeerTypes( |
| 18446 | 18454 | |
| 18447 | 18455 | break :msg msg; |
| 18448 | 18456 | }; |
| 18449 | | return sema.failWithOwnedErrorMsg(msg); |
| 18457 | return sema.failWithOwnedErrorMsg(block, msg); |
| 18450 | 18458 | } |
| 18451 | 18459 | |
| 18452 | 18460 | const chosen_ty = sema.typeOf(chosen); |