| ... | ... | @@ -74,6 +74,8 @@ types_to_resolve: std.ArrayListUnmanaged(Air.Inst.Ref) = .{}, |
| 74 | 74 | /// Sema must convert comptime control flow to runtime control flow, which means |
| 75 | 75 | /// breaking from a block. |
| 76 | 76 | post_hoc_blocks: std.AutoHashMapUnmanaged(Air.Inst.Index, *LabeledBlock) = .{}, |
| 77 | /// Populated with the last compile error created. |
| 78 | err: ?*Module.ErrorMsg = null, |
| 77 | 79 | |
| 78 | 80 | const std = @import("std"); |
| 79 | 81 | const mem = std.mem; |
| ... | ... | @@ -174,7 +176,6 @@ pub const Block = struct { |
| 174 | 176 | pub const Inlining = struct { |
| 175 | 177 | comptime_result: Air.Inst.Ref, |
| 176 | 178 | merges: Merges, |
| 177 | | err: ?*Module.ErrorMsg = null, |
| 178 | 179 | }; |
| 179 | 180 | |
| 180 | 181 | pub const Merges = struct { |
| ... | ... | @@ -1159,7 +1160,7 @@ fn analyzeBodyInner( |
| 1159 | 1160 | try sema.errNote(block, runtime_src, msg, "runtime control flow here", .{}); |
| 1160 | 1161 | break :msg msg; |
| 1161 | 1162 | }; |
| 1162 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 1163 | return sema.failWithOwnedErrorMsg(msg); |
| 1163 | 1164 | } |
| 1164 | 1165 | } |
| 1165 | 1166 | i += 1; |
| ... | ... | @@ -1738,7 +1739,7 @@ fn failWithNeededComptime(sema: *Sema, block: *Block, src: LazySrcLoc, reason: [ |
| 1738 | 1739 | try sema.errNote(block, src, msg, "{s}", .{reason}); |
| 1739 | 1740 | break :msg msg; |
| 1740 | 1741 | }; |
| 1741 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 1742 | return sema.failWithOwnedErrorMsg(msg); |
| 1742 | 1743 | } |
| 1743 | 1744 | |
| 1744 | 1745 | fn failWithUseOfUndef(sema: *Sema, block: *Block, src: LazySrcLoc) CompileError { |
| ... | ... | @@ -1770,7 +1771,7 @@ fn failWithArrayInitNotSupported(sema: *Sema, block: *Block, src: LazySrcLoc, ty |
| 1770 | 1771 | } |
| 1771 | 1772 | break :msg msg; |
| 1772 | 1773 | }; |
| 1773 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 1774 | return sema.failWithOwnedErrorMsg(msg); |
| 1774 | 1775 | } |
| 1775 | 1776 | |
| 1776 | 1777 | fn failWithStructInitNotSupported(sema: *Sema, block: *Block, src: LazySrcLoc, ty: Type) CompileError { |
| ... | ... | @@ -1801,7 +1802,7 @@ fn failWithIntegerOverflow(sema: *Sema, block: *Block, src: LazySrcLoc, int_ty: |
| 1801 | 1802 | try sema.errNote(block, src, msg, "when computing vector element at index '{d}'", .{vector_index}); |
| 1802 | 1803 | break :msg msg; |
| 1803 | 1804 | }; |
| 1804 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 1805 | return sema.failWithOwnedErrorMsg(msg); |
| 1805 | 1806 | } |
| 1806 | 1807 | return sema.fail(block, src, "overflow of integer type '{}' with value '{}'", .{ |
| 1807 | 1808 | int_ty.fmt(sema.mod), val.fmtValue(int_ty, sema.mod), |
| ... | ... | @@ -1823,7 +1824,7 @@ fn failWithInvalidComptimeFieldStore(sema: *Sema, block: *Block, init_src: LazyS |
| 1823 | 1824 | try sema.errNote(block, default_value_src, msg, "default value set here", .{}); |
| 1824 | 1825 | break :msg msg; |
| 1825 | 1826 | }; |
| 1826 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 1827 | return sema.failWithOwnedErrorMsg(msg); |
| 1827 | 1828 | } |
| 1828 | 1829 | |
| 1829 | 1830 | /// We don't return a pointer to the new error note because the pointer |
| ... | ... | @@ -1878,10 +1879,10 @@ pub fn fail( |
| 1878 | 1879 | args: anytype, |
| 1879 | 1880 | ) CompileError { |
| 1880 | 1881 | const err_msg = try sema.errMsg(block, src, format, args); |
| 1881 | | return sema.failWithOwnedErrorMsg(block, err_msg); |
| 1882 | return sema.failWithOwnedErrorMsg(err_msg); |
| 1882 | 1883 | } |
| 1883 | 1884 | |
| 1884 | | fn failWithOwnedErrorMsg(sema: *Sema, block: *Block, err_msg: *Module.ErrorMsg) CompileError { |
| 1885 | fn failWithOwnedErrorMsg(sema: *Sema, err_msg: *Module.ErrorMsg) CompileError { |
| 1885 | 1886 | @setCold(true); |
| 1886 | 1887 | |
| 1887 | 1888 | if (crash_report.is_enabled and sema.mod.comp.debug_compile_errors) { |
| ... | ... | @@ -1894,7 +1895,7 @@ fn failWithOwnedErrorMsg(sema: *Sema, block: *Block, err_msg: *Module.ErrorMsg) |
| 1894 | 1895 | } |
| 1895 | 1896 | |
| 1896 | 1897 | const mod = sema.mod; |
| 1897 | | if (block.inlining) |some| some.err = err_msg; |
| 1898 | sema.err = err_msg; |
| 1898 | 1899 | |
| 1899 | 1900 | { |
| 1900 | 1901 | errdefer err_msg.destroy(mod.gpa); |
| ... | ... | @@ -2591,7 +2592,7 @@ fn zirEnumDecl( |
| 2591 | 2592 | try sema.errNote(block, other_tag_src, msg, "other field here", .{}); |
| 2592 | 2593 | break :msg msg; |
| 2593 | 2594 | }; |
| 2594 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 2595 | return sema.failWithOwnedErrorMsg(msg); |
| 2595 | 2596 | } |
| 2596 | 2597 | |
| 2597 | 2598 | if (has_tag_value) { |
| ... | ... | @@ -2886,7 +2887,7 @@ fn ensureResultUsed( |
| 2886 | 2887 | try sema.errNote(block, src, msg, "consider using `try`, `catch`, or `if`", .{}); |
| 2887 | 2888 | break :msg msg; |
| 2888 | 2889 | }; |
| 2889 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 2890 | return sema.failWithOwnedErrorMsg(msg); |
| 2890 | 2891 | }, |
| 2891 | 2892 | else => { |
| 2892 | 2893 | const msg = msg: { |
| ... | ... | @@ -2896,7 +2897,7 @@ fn ensureResultUsed( |
| 2896 | 2897 | try sema.errNote(block, src, msg, "this error can be suppressed by assigning the value to '_'", .{}); |
| 2897 | 2898 | break :msg msg; |
| 2898 | 2899 | }; |
| 2899 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 2900 | return sema.failWithOwnedErrorMsg(msg); |
| 2900 | 2901 | }, |
| 2901 | 2902 | } |
| 2902 | 2903 | } |
| ... | ... | @@ -2917,7 +2918,7 @@ fn zirEnsureResultNonError(sema: *Sema, block: *Block, inst: Zir.Inst.Index) Com |
| 2917 | 2918 | try sema.errNote(block, src, msg, "consider using `try`, `catch`, or `if`", .{}); |
| 2918 | 2919 | break :msg msg; |
| 2919 | 2920 | }; |
| 2920 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 2921 | return sema.failWithOwnedErrorMsg(msg); |
| 2921 | 2922 | }, |
| 2922 | 2923 | else => return, |
| 2923 | 2924 | } |
| ... | ... | @@ -2957,7 +2958,7 @@ fn zirIndexablePtrLen(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileE |
| 2957 | 2958 | ); |
| 2958 | 2959 | break :msg msg; |
| 2959 | 2960 | }; |
| 2960 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 2961 | return sema.failWithOwnedErrorMsg(msg); |
| 2961 | 2962 | } |
| 2962 | 2963 | |
| 2963 | 2964 | return sema.fieldVal(block, src, object, "len", src); |
| ... | ... | @@ -3615,7 +3616,7 @@ fn validateUnionInit( |
| 3615 | 3616 | try sema.addDeclaredHereNote(msg, union_ty); |
| 3616 | 3617 | break :msg msg; |
| 3617 | 3618 | }; |
| 3618 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 3619 | return sema.failWithOwnedErrorMsg(msg); |
| 3619 | 3620 | } |
| 3620 | 3621 | |
| 3621 | 3622 | if ((is_comptime or block.is_comptime) and |
| ... | ... | @@ -3747,7 +3748,7 @@ fn validateStructInit( |
| 3747 | 3748 | try sema.errNote(block, other_field_src, msg, "other field here", .{}); |
| 3748 | 3749 | break :msg msg; |
| 3749 | 3750 | }; |
| 3750 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 3751 | return sema.failWithOwnedErrorMsg(msg); |
| 3751 | 3752 | } |
| 3752 | 3753 | found_fields[field_index] = field_ptr; |
| 3753 | 3754 | } |
| ... | ... | @@ -3808,7 +3809,7 @@ fn validateStructInit( |
| 3808 | 3809 | .{fqn}, |
| 3809 | 3810 | ); |
| 3810 | 3811 | } |
| 3811 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 3812 | return sema.failWithOwnedErrorMsg(msg); |
| 3812 | 3813 | } |
| 3813 | 3814 | |
| 3814 | 3815 | return; |
| ... | ... | @@ -3938,7 +3939,7 @@ fn validateStructInit( |
| 3938 | 3939 | .{fqn}, |
| 3939 | 3940 | ); |
| 3940 | 3941 | } |
| 3941 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 3942 | return sema.failWithOwnedErrorMsg(msg); |
| 3942 | 3943 | } |
| 3943 | 3944 | |
| 3944 | 3945 | if (struct_is_comptime) { |
| ... | ... | @@ -4000,7 +4001,7 @@ fn zirValidateArrayInit( |
| 4000 | 4001 | } |
| 4001 | 4002 | |
| 4002 | 4003 | if (root_msg) |msg| { |
| 4003 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 4004 | return sema.failWithOwnedErrorMsg(msg); |
| 4004 | 4005 | } |
| 4005 | 4006 | } |
| 4006 | 4007 | |
| ... | ... | @@ -4180,7 +4181,7 @@ fn zirValidateDeref(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileErr |
| 4180 | 4181 | try sema.explainWhyTypeIsComptime(block, src, msg, src.toSrcLoc(src_decl), elem_ty); |
| 4181 | 4182 | break :msg msg; |
| 4182 | 4183 | }; |
| 4183 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 4184 | return sema.failWithOwnedErrorMsg(msg); |
| 4184 | 4185 | } |
| 4185 | 4186 | } |
| 4186 | 4187 | |
| ... | ... | @@ -4206,7 +4207,7 @@ fn failWithBadMemberAccess( |
| 4206 | 4207 | try sema.addDeclaredHereNote(msg, agg_ty); |
| 4207 | 4208 | break :msg msg; |
| 4208 | 4209 | }; |
| 4209 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 4210 | return sema.failWithOwnedErrorMsg(msg); |
| 4210 | 4211 | } |
| 4211 | 4212 | |
| 4212 | 4213 | fn failWithBadStructFieldAccess( |
| ... | ... | @@ -4232,7 +4233,7 @@ fn failWithBadStructFieldAccess( |
| 4232 | 4233 | try sema.mod.errNoteNonLazy(struct_obj.srcLoc(sema.mod), msg, "struct declared here", .{}); |
| 4233 | 4234 | break :msg msg; |
| 4234 | 4235 | }; |
| 4235 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 4236 | return sema.failWithOwnedErrorMsg(msg); |
| 4236 | 4237 | } |
| 4237 | 4238 | |
| 4238 | 4239 | fn failWithBadUnionFieldAccess( |
| ... | ... | @@ -4258,7 +4259,7 @@ fn failWithBadUnionFieldAccess( |
| 4258 | 4259 | try sema.mod.errNoteNonLazy(union_obj.srcLoc(sema.mod), msg, "union declared here", .{}); |
| 4259 | 4260 | break :msg msg; |
| 4260 | 4261 | }; |
| 4261 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 4262 | return sema.failWithOwnedErrorMsg(msg); |
| 4262 | 4263 | } |
| 4263 | 4264 | |
| 4264 | 4265 | fn addDeclaredHereNote(sema: *Sema, parent: *Module.ErrorMsg, decl_ty: Type) !void { |
| ... | ... | @@ -4747,7 +4748,7 @@ fn zirCImport(sema: *Sema, parent_block: *Block, inst: Zir.Inst.Index) CompileEr |
| 4747 | 4748 | @import("clang.zig").Stage2ErrorMsg.delete(c_import_res.errors.ptr, c_import_res.errors.len); |
| 4748 | 4749 | break :msg msg; |
| 4749 | 4750 | }; |
| 4750 | | return sema.failWithOwnedErrorMsg(parent_block, msg); |
| 4751 | return sema.failWithOwnedErrorMsg(msg); |
| 4751 | 4752 | } |
| 4752 | 4753 | const c_import_pkg = Package.create( |
| 4753 | 4754 | sema.gpa, |
| ... | ... | @@ -4921,7 +4922,7 @@ fn analyzeBlockBody( |
| 4921 | 4922 | |
| 4922 | 4923 | break :msg msg; |
| 4923 | 4924 | }; |
| 4924 | | return sema.failWithOwnedErrorMsg(child_block, msg); |
| 4925 | return sema.failWithOwnedErrorMsg(msg); |
| 4925 | 4926 | } |
| 4926 | 4927 | const ty_inst = try sema.addType(resolved_ty); |
| 4927 | 4928 | try sema.air_extra.ensureUnusedCapacity(gpa, @typeInfo(Air.Block).Struct.fields.len + |
| ... | ... | @@ -5060,7 +5061,7 @@ pub fn analyzeExport( |
| 5060 | 5061 | try sema.addDeclaredHereNote(msg, exported_decl.ty); |
| 5061 | 5062 | break :msg msg; |
| 5062 | 5063 | }; |
| 5063 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 5064 | return sema.failWithOwnedErrorMsg(msg); |
| 5064 | 5065 | } |
| 5065 | 5066 | |
| 5066 | 5067 | const gpa = mod.gpa; |
| ... | ... | @@ -5150,7 +5151,7 @@ fn zirSetAlignStack(sema: *Sema, block: *Block, extended: Zir.Inst.Extended.Inst |
| 5150 | 5151 | try sema.errNote(block, gop.value_ptr.src, msg, "other instance here", .{}); |
| 5151 | 5152 | break :msg msg; |
| 5152 | 5153 | }; |
| 5153 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 5154 | return sema.failWithOwnedErrorMsg(msg); |
| 5154 | 5155 | } |
| 5155 | 5156 | gop.value_ptr.* = .{ .alignment = alignment, .src = src }; |
| 5156 | 5157 | } |
| ... | ... | @@ -5413,7 +5414,7 @@ fn lookupInNamespace( |
| 5413 | 5414 | } |
| 5414 | 5415 | break :msg msg; |
| 5415 | 5416 | }; |
| 5416 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 5417 | return sema.failWithOwnedErrorMsg(msg); |
| 5417 | 5418 | }, |
| 5418 | 5419 | } |
| 5419 | 5420 | } else if (namespace.decls.getKeyAdapted(ident_name, Module.DeclAdapter{ .mod = mod })) |decl_index| { |
| ... | ... | @@ -5872,9 +5873,8 @@ fn analyzeCall( |
| 5872 | 5873 | sema.analyzeBody(&child_block, fn_info.body) catch |err| switch (err) { |
| 5873 | 5874 | error.ComptimeReturn => break :result inlining.comptime_result, |
| 5874 | 5875 | error.AnalysisFail => { |
| 5875 | | const err_msg = inlining.err orelse return err; |
| 5876 | const err_msg = sema.err orelse return err; |
| 5876 | 5877 | try sema.errNote(block, call_src, err_msg, "called from here", .{}); |
| 5877 | | if (block.inlining) |some| some.err = err_msg; |
| 5878 | 5878 | return err; |
| 5879 | 5879 | }, |
| 5880 | 5880 | else => |e| return e, |
| ... | ... | @@ -6802,7 +6802,7 @@ fn zirMergeErrorSets(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileEr |
| 6802 | 6802 | try sema.errNote(block, src, msg, "'||' merges error sets; 'or' performs boolean OR", .{}); |
| 6803 | 6803 | break :msg msg; |
| 6804 | 6804 | }; |
| 6805 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 6805 | return sema.failWithOwnedErrorMsg(msg); |
| 6806 | 6806 | } |
| 6807 | 6807 | const lhs_ty = try sema.analyzeAsType(block, lhs_src, lhs); |
| 6808 | 6808 | const rhs_ty = try sema.analyzeAsType(block, rhs_src, rhs); |
| ... | ... | @@ -6927,7 +6927,7 @@ fn zirIntToEnum(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!A |
| 6927 | 6927 | try sema.addDeclaredHereNote(msg, dest_ty); |
| 6928 | 6928 | break :msg msg; |
| 6929 | 6929 | }; |
| 6930 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 6930 | return sema.failWithOwnedErrorMsg(msg); |
| 6931 | 6931 | } |
| 6932 | 6932 | return sema.addConstant(dest_ty, int_val); |
| 6933 | 6933 | } |
| ... | ... | @@ -7632,7 +7632,7 @@ fn funcCommon( |
| 7632 | 7632 | try sema.addDeclaredHereNote(msg, bare_return_type); |
| 7633 | 7633 | break :msg msg; |
| 7634 | 7634 | }; |
| 7635 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 7635 | return sema.failWithOwnedErrorMsg(msg); |
| 7636 | 7636 | } |
| 7637 | 7637 | if (!Type.fnCallingConventionAllowsZigTypes(cc_workaround) and !sema.validateExternType(return_type, .ret_ty)) { |
| 7638 | 7638 | const msg = msg: { |
| ... | ... | @@ -7647,7 +7647,7 @@ fn funcCommon( |
| 7647 | 7647 | try sema.addDeclaredHereNote(msg, return_type); |
| 7648 | 7648 | break :msg msg; |
| 7649 | 7649 | }; |
| 7650 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 7650 | return sema.failWithOwnedErrorMsg(msg); |
| 7651 | 7651 | } |
| 7652 | 7652 | |
| 7653 | 7653 | const arch = sema.mod.getTarget().cpu.arch; |
| ... | ... | @@ -7812,7 +7812,7 @@ fn analyzeParameter( |
| 7812 | 7812 | try sema.errNote(block, param_src, msg, "function is generic because of this parameter", .{}); |
| 7813 | 7813 | break :msg msg; |
| 7814 | 7814 | }; |
| 7815 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 7815 | return sema.failWithOwnedErrorMsg(msg); |
| 7816 | 7816 | } |
| 7817 | 7817 | if (this_generic and !Type.fnCallingConventionAllowsZigTypes(cc)) { |
| 7818 | 7818 | return sema.fail(block, param_src, "generic parameters not allowed in function with calling convention '{s}'", .{@tagName(cc)}); |
| ... | ... | @@ -7828,7 +7828,7 @@ fn analyzeParameter( |
| 7828 | 7828 | try sema.addDeclaredHereNote(msg, param.ty); |
| 7829 | 7829 | break :msg msg; |
| 7830 | 7830 | }; |
| 7831 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 7831 | return sema.failWithOwnedErrorMsg(msg); |
| 7832 | 7832 | } |
| 7833 | 7833 | if (!Type.fnCallingConventionAllowsZigTypes(cc) and !sema.validateExternType(param.ty, .param_ty)) { |
| 7834 | 7834 | const msg = msg: { |
| ... | ... | @@ -7843,7 +7843,7 @@ fn analyzeParameter( |
| 7843 | 7843 | try sema.addDeclaredHereNote(msg, param.ty); |
| 7844 | 7844 | break :msg msg; |
| 7845 | 7845 | }; |
| 7846 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 7846 | return sema.failWithOwnedErrorMsg(msg); |
| 7847 | 7847 | } |
| 7848 | 7848 | if (requires_comptime and !param.is_comptime) { |
| 7849 | 7849 | const msg = msg: { |
| ... | ... | @@ -7855,7 +7855,7 @@ fn analyzeParameter( |
| 7855 | 7855 | try sema.addDeclaredHereNote(msg, param.ty); |
| 7856 | 7856 | break :msg msg; |
| 7857 | 7857 | }; |
| 7858 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 7858 | return sema.failWithOwnedErrorMsg(msg); |
| 7859 | 7859 | } |
| 7860 | 7860 | } |
| 7861 | 7861 | |
| ... | ... | @@ -8318,7 +8318,7 @@ fn zirBitcast(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air |
| 8318 | 8318 | |
| 8319 | 8319 | break :msg msg; |
| 8320 | 8320 | }; |
| 8321 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 8321 | return sema.failWithOwnedErrorMsg(msg); |
| 8322 | 8322 | }, |
| 8323 | 8323 | |
| 8324 | 8324 | .Pointer => { |
| ... | ... | @@ -8333,7 +8333,7 @@ fn zirBitcast(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air |
| 8333 | 8333 | |
| 8334 | 8334 | break :msg msg; |
| 8335 | 8335 | }; |
| 8336 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 8336 | return sema.failWithOwnedErrorMsg(msg); |
| 8337 | 8337 | }, |
| 8338 | 8338 | .Struct, .Union => if (dest_ty.containerLayout() == .Auto) { |
| 8339 | 8339 | const container = switch (dest_ty.zigTypeTag()) { |
| ... | ... | @@ -8383,7 +8383,7 @@ fn zirBitcast(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air |
| 8383 | 8383 | |
| 8384 | 8384 | break :msg msg; |
| 8385 | 8385 | }; |
| 8386 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 8386 | return sema.failWithOwnedErrorMsg(msg); |
| 8387 | 8387 | }, |
| 8388 | 8388 | .Pointer => { |
| 8389 | 8389 | const msg = msg: { |
| ... | ... | @@ -8397,7 +8397,7 @@ fn zirBitcast(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air |
| 8397 | 8397 | |
| 8398 | 8398 | break :msg msg; |
| 8399 | 8399 | }; |
| 8400 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 8400 | return sema.failWithOwnedErrorMsg(msg); |
| 8401 | 8401 | }, |
| 8402 | 8402 | .Struct, .Union => if (operand_ty.containerLayout() == .Auto) { |
| 8403 | 8403 | const container = switch (operand_ty.zigTypeTag()) { |
| ... | ... | @@ -8663,7 +8663,7 @@ fn zirSwitchCapture( |
| 8663 | 8663 | try sema.errNote(block, item_src, msg, "type '{}' here", .{field.ty.fmt(sema.mod)}); |
| 8664 | 8664 | break :msg msg; |
| 8665 | 8665 | }; |
| 8666 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 8666 | return sema.failWithOwnedErrorMsg(msg); |
| 8667 | 8667 | } |
| 8668 | 8668 | } |
| 8669 | 8669 | |
| ... | ... | @@ -8786,7 +8786,7 @@ fn zirSwitchCond( |
| 8786 | 8786 | } |
| 8787 | 8787 | break :msg msg; |
| 8788 | 8788 | }; |
| 8789 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 8789 | return sema.failWithOwnedErrorMsg(msg); |
| 8790 | 8790 | }; |
| 8791 | 8791 | return sema.unionToTag(block, enum_ty, operand, src); |
| 8792 | 8792 | }, |
| ... | ... | @@ -8875,7 +8875,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError |
| 8875 | 8875 | ); |
| 8876 | 8876 | break :msg msg; |
| 8877 | 8877 | }; |
| 8878 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 8878 | return sema.failWithOwnedErrorMsg(msg); |
| 8879 | 8879 | } |
| 8880 | 8880 | |
| 8881 | 8881 | const target = sema.mod.getTarget(); |
| ... | ... | @@ -8979,7 +8979,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError |
| 8979 | 8979 | ); |
| 8980 | 8980 | break :msg msg; |
| 8981 | 8981 | }; |
| 8982 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 8982 | return sema.failWithOwnedErrorMsg(msg); |
| 8983 | 8983 | } else if (special_prong == .none and operand_ty.isNonexhaustiveEnum() and !union_originally) { |
| 8984 | 8984 | return sema.fail( |
| 8985 | 8985 | block, |
| ... | ... | @@ -9079,7 +9079,7 @@ fn zirSwitchBlock(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError |
| 9079 | 9079 | if (maybe_msg) |msg| { |
| 9080 | 9080 | maybe_msg = null; |
| 9081 | 9081 | try sema.addDeclaredHereNote(msg, operand_ty); |
| 9082 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 9082 | return sema.failWithOwnedErrorMsg(msg); |
| 9083 | 9083 | } |
| 9084 | 9084 | |
| 9085 | 9085 | if (special_prong == .@"else" and seen_errors.count() == operand_ty.errorSetNames().len) { |
| ... | ... | @@ -9888,7 +9888,7 @@ fn validateSwitchDupe( |
| 9888 | 9888 | ); |
| 9889 | 9889 | break :msg msg; |
| 9890 | 9890 | }; |
| 9891 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 9891 | return sema.failWithOwnedErrorMsg(msg); |
| 9892 | 9892 | } |
| 9893 | 9893 | |
| 9894 | 9894 | fn validateSwitchItemBool( |
| ... | ... | @@ -9958,7 +9958,7 @@ fn validateSwitchNoRange( |
| 9958 | 9958 | ); |
| 9959 | 9959 | break :msg msg; |
| 9960 | 9960 | }; |
| 9961 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 9961 | return sema.failWithOwnedErrorMsg(msg); |
| 9962 | 9962 | } |
| 9963 | 9963 | |
| 9964 | 9964 | fn zirHasField(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.Inst.Ref { |
| ... | ... | @@ -12882,7 +12882,7 @@ fn analyzeCmpUnionTag( |
| 12882 | 12882 | try sema.mod.errNoteNonLazy(union_ty.declSrcLoc(sema.mod), msg, "union '{}' is not a tagged union", .{union_ty.fmt(sema.mod)}); |
| 12883 | 12883 | break :msg msg; |
| 12884 | 12884 | }; |
| 12885 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 12885 | return sema.failWithOwnedErrorMsg(msg); |
| 12886 | 12886 | }; |
| 12887 | 12887 | // Coerce both the union and the tag to the union's tag type, and then execute the |
| 12888 | 12888 | // enum comparison codepath. |
| ... | ... | @@ -13170,7 +13170,7 @@ fn zirClosureGet( |
| 13170 | 13170 | // TODO add "declared here" note |
| 13171 | 13171 | break :msg msg; |
| 13172 | 13172 | }; |
| 13173 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 13173 | return sema.failWithOwnedErrorMsg(msg); |
| 13174 | 13174 | } |
| 13175 | 13175 | |
| 13176 | 13176 | return sema.addConstant(tv.ty, tv.val); |
| ... | ... | @@ -14907,7 +14907,7 @@ fn zirPtrType(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air |
| 14907 | 14907 | try sema.addDeclaredHereNote(msg, elem_ty); |
| 14908 | 14908 | break :msg msg; |
| 14909 | 14909 | }; |
| 14910 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 14910 | return sema.failWithOwnedErrorMsg(msg); |
| 14911 | 14911 | } |
| 14912 | 14912 | if (elem_ty.zigTypeTag() == .Opaque) { |
| 14913 | 14913 | return sema.fail(block, elem_ty_src, "C pointers cannot point to opaque types", .{}); |
| ... | ... | @@ -15078,7 +15078,7 @@ fn zirStructInit( |
| 15078 | 15078 | try sema.errNote(block, other_field_src, msg, "other field here", .{}); |
| 15079 | 15079 | break :msg msg; |
| 15080 | 15080 | }; |
| 15081 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 15081 | return sema.failWithOwnedErrorMsg(msg); |
| 15082 | 15082 | } |
| 15083 | 15083 | found_fields[field_index] = item.data.field_type; |
| 15084 | 15084 | field_inits[field_index] = try sema.resolveInst(item.data.init); |
| ... | ... | @@ -15219,7 +15219,7 @@ fn finishStructInit( |
| 15219 | 15219 | .{fqn}, |
| 15220 | 15220 | ); |
| 15221 | 15221 | } |
| 15222 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 15222 | return sema.failWithOwnedErrorMsg(msg); |
| 15223 | 15223 | } |
| 15224 | 15224 | |
| 15225 | 15225 | const is_comptime = for (field_inits) |field_init| { |
| ... | ... | @@ -15294,7 +15294,7 @@ fn zirStructInitAnon( |
| 15294 | 15294 | try sema.errNote(block, prev_source, msg, "other field here", .{}); |
| 15295 | 15295 | break :msg msg; |
| 15296 | 15296 | }; |
| 15297 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 15297 | return sema.failWithOwnedErrorMsg(msg); |
| 15298 | 15298 | } |
| 15299 | 15299 | gop.value_ptr.* = @intCast(u32, i); |
| 15300 | 15300 | |
| ... | ... | @@ -15310,7 +15310,7 @@ fn zirStructInitAnon( |
| 15310 | 15310 | try sema.addDeclaredHereNote(msg, types[i]); |
| 15311 | 15311 | break :msg msg; |
| 15312 | 15312 | }; |
| 15313 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 15313 | return sema.failWithOwnedErrorMsg(msg); |
| 15314 | 15314 | } |
| 15315 | 15315 | const init_src = src; // TODO better source location |
| 15316 | 15316 | if (try sema.resolveMaybeUndefVal(block, init_src, init)) |init_val| { |
| ... | ... | @@ -15508,7 +15508,7 @@ fn zirArrayInitAnon( |
| 15508 | 15508 | try sema.addDeclaredHereNote(msg, types[i]); |
| 15509 | 15509 | break :msg msg; |
| 15510 | 15510 | }; |
| 15511 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 15511 | return sema.failWithOwnedErrorMsg(msg); |
| 15512 | 15512 | } |
| 15513 | 15513 | if (try sema.resolveMaybeUndefVal(block, operand_src, elem)) |val| { |
| 15514 | 15514 | values[i] = val; |
| ... | ... | @@ -15822,7 +15822,7 @@ fn zirTagName(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air |
| 15822 | 15822 | try sema.addDeclaredHereNote(msg, operand_ty); |
| 15823 | 15823 | break :msg msg; |
| 15824 | 15824 | }; |
| 15825 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 15825 | return sema.failWithOwnedErrorMsg(msg); |
| 15826 | 15826 | }, |
| 15827 | 15827 | else => return sema.fail(block, operand_src, "expected enum or union; found '{}'", .{ |
| 15828 | 15828 | operand_ty.fmt(mod), |
| ... | ... | @@ -15841,7 +15841,7 @@ fn zirTagName(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air |
| 15841 | 15841 | try mod.errNoteNonLazy(enum_decl.srcLoc(), msg, "declared here", .{}); |
| 15842 | 15842 | break :msg msg; |
| 15843 | 15843 | }; |
| 15844 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 15844 | return sema.failWithOwnedErrorMsg(msg); |
| 15845 | 15845 | }; |
| 15846 | 15846 | const field_name = enum_ty.enumFieldName(field_index); |
| 15847 | 15847 | return sema.addStrLit(block, field_name); |
| ... | ... | @@ -15991,7 +15991,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 15991 | 15991 | try sema.addDeclaredHereNote(msg, elem_ty); |
| 15992 | 15992 | break :msg msg; |
| 15993 | 15993 | }; |
| 15994 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 15994 | return sema.failWithOwnedErrorMsg(msg); |
| 15995 | 15995 | } |
| 15996 | 15996 | if (elem_ty.zigTypeTag() == .Opaque) { |
| 15997 | 15997 | return sema.fail(block, src, "C pointers cannot point to opaque types", .{}); |
| ... | ... | @@ -16394,7 +16394,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 16394 | 16394 | try sema.addDeclaredHereNote(msg, union_obj.tag_ty); |
| 16395 | 16395 | break :msg msg; |
| 16396 | 16396 | }; |
| 16397 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 16397 | return sema.failWithOwnedErrorMsg(msg); |
| 16398 | 16398 | } |
| 16399 | 16399 | } |
| 16400 | 16400 | |
| ... | ... | @@ -16428,7 +16428,7 @@ fn zirReify(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Air.I |
| 16428 | 16428 | try sema.addDeclaredHereNote(msg, union_obj.tag_ty); |
| 16429 | 16429 | break :msg msg; |
| 16430 | 16430 | }; |
| 16431 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 16431 | return sema.failWithOwnedErrorMsg(msg); |
| 16432 | 16432 | } |
| 16433 | 16433 | } |
| 16434 | 16434 | |
| ... | ... | @@ -16898,7 +16898,7 @@ fn zirErrSetCast(sema: *Sema, block: *Block, extended: Zir.Inst.Extended.InstDat |
| 16898 | 16898 | try sema.addDeclaredHereNote(msg, dest_ty); |
| 16899 | 16899 | break :msg msg; |
| 16900 | 16900 | }; |
| 16901 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 16901 | return sema.failWithOwnedErrorMsg(msg); |
| 16902 | 16902 | } |
| 16903 | 16903 | |
| 16904 | 16904 | if (maybe_operand_val) |val| { |
| ... | ... | @@ -16916,7 +16916,7 @@ fn zirErrSetCast(sema: *Sema, block: *Block, extended: Zir.Inst.Extended.InstDat |
| 16916 | 16916 | try sema.addDeclaredHereNote(msg, dest_ty); |
| 16917 | 16917 | break :msg msg; |
| 16918 | 16918 | }; |
| 16919 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 16919 | return sema.failWithOwnedErrorMsg(msg); |
| 16920 | 16920 | } |
| 16921 | 16921 | } |
| 16922 | 16922 | |
| ... | ... | @@ -17054,7 +17054,7 @@ fn zirTruncate(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!Ai |
| 17054 | 17054 | }); |
| 17055 | 17055 | break :msg msg; |
| 17056 | 17056 | }; |
| 17057 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 17057 | return sema.failWithOwnedErrorMsg(msg); |
| 17058 | 17058 | } |
| 17059 | 17059 | } |
| 17060 | 17060 | |
| ... | ... | @@ -17345,7 +17345,7 @@ fn bitOffsetOf(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileError!u6 |
| 17345 | 17345 | try sema.addDeclaredHereNote(msg, ty); |
| 17346 | 17346 | break :msg msg; |
| 17347 | 17347 | }; |
| 17348 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 17348 | return sema.failWithOwnedErrorMsg(msg); |
| 17349 | 17349 | }, |
| 17350 | 17350 | } |
| 17351 | 17351 | |
| ... | ... | @@ -17449,7 +17449,7 @@ fn checkPtrOperand( |
| 17449 | 17449 | |
| 17450 | 17450 | break :msg msg; |
| 17451 | 17451 | }; |
| 17452 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 17452 | return sema.failWithOwnedErrorMsg(msg); |
| 17453 | 17453 | }, |
| 17454 | 17454 | .Optional => if (ty.isPtrLikeOptional()) return, |
| 17455 | 17455 | else => {}, |
| ... | ... | @@ -17479,7 +17479,7 @@ fn checkPtrType( |
| 17479 | 17479 | |
| 17480 | 17480 | break :msg msg; |
| 17481 | 17481 | }; |
| 17482 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 17482 | return sema.failWithOwnedErrorMsg(msg); |
| 17483 | 17483 | }, |
| 17484 | 17484 | .Optional => if (ty.isPtrLikeOptional()) return, |
| 17485 | 17485 | else => {}, |
| ... | ... | @@ -17615,7 +17615,7 @@ fn checkComptimeVarStore( |
| 17615 | 17615 | try sema.errNote(block, cond_src, msg, "runtime condition here", .{}); |
| 17616 | 17616 | break :msg msg; |
| 17617 | 17617 | }; |
| 17618 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 17618 | return sema.failWithOwnedErrorMsg(msg); |
| 17619 | 17619 | } |
| 17620 | 17620 | if (block.runtime_loop) |loop_src| { |
| 17621 | 17621 | const msg = msg: { |
| ... | ... | @@ -17624,7 +17624,7 @@ fn checkComptimeVarStore( |
| 17624 | 17624 | try sema.errNote(block, loop_src, msg, "non-inline loop here", .{}); |
| 17625 | 17625 | break :msg msg; |
| 17626 | 17626 | }; |
| 17627 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 17627 | return sema.failWithOwnedErrorMsg(msg); |
| 17628 | 17628 | } |
| 17629 | 17629 | unreachable; |
| 17630 | 17630 | } |
| ... | ... | @@ -17761,7 +17761,7 @@ fn checkVectorizableBinaryOperands( |
| 17761 | 17761 | try sema.errNote(block, rhs_src, msg, "length {d} here", .{rhs_len}); |
| 17762 | 17762 | break :msg msg; |
| 17763 | 17763 | }; |
| 17764 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 17764 | return sema.failWithOwnedErrorMsg(msg); |
| 17765 | 17765 | } |
| 17766 | 17766 | } else { |
| 17767 | 17767 | const msg = msg: { |
| ... | ... | @@ -17778,7 +17778,7 @@ fn checkVectorizableBinaryOperands( |
| 17778 | 17778 | } |
| 17779 | 17779 | break :msg msg; |
| 17780 | 17780 | }; |
| 17781 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 17781 | return sema.failWithOwnedErrorMsg(msg); |
| 17782 | 17782 | } |
| 17783 | 17783 | } |
| 17784 | 17784 | |
| ... | ... | @@ -18178,7 +18178,7 @@ fn analyzeShuffle( |
| 18178 | 18178 | |
| 18179 | 18179 | break :msg msg; |
| 18180 | 18180 | }; |
| 18181 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 18181 | return sema.failWithOwnedErrorMsg(msg); |
| 18182 | 18182 | } |
| 18183 | 18183 | } |
| 18184 | 18184 | |
| ... | ... | @@ -18774,7 +18774,7 @@ fn zirFieldParentPtr(sema: *Sema, block: *Block, inst: Zir.Inst.Index) CompileEr |
| 18774 | 18774 | try sema.addDeclaredHereNote(msg, struct_ty); |
| 18775 | 18775 | break :msg msg; |
| 18776 | 18776 | }; |
| 18777 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 18777 | return sema.failWithOwnedErrorMsg(msg); |
| 18778 | 18778 | } |
| 18779 | 18779 | return sema.addConstant(result_ptr, payload.data.container_ptr); |
| 18780 | 18780 | } |
| ... | ... | @@ -19574,7 +19574,7 @@ fn requireRuntimeBlock(sema: *Sema, block: *Block, src: LazySrcLoc, runtime_src: |
| 19574 | 19574 | } |
| 19575 | 19575 | break :msg msg; |
| 19576 | 19576 | }; |
| 19577 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 19577 | return sema.failWithOwnedErrorMsg(msg); |
| 19578 | 19578 | } |
| 19579 | 19579 | try sema.requireFunctionBlock(block, src); |
| 19580 | 19580 | } |
| ... | ... | @@ -19603,7 +19603,7 @@ fn validateVarType( |
| 19603 | 19603 | |
| 19604 | 19604 | break :msg msg; |
| 19605 | 19605 | }; |
| 19606 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 19606 | return sema.failWithOwnedErrorMsg(msg); |
| 19607 | 19607 | } |
| 19608 | 19608 | |
| 19609 | 19609 | fn validateRunTimeType( |
| ... | ... | @@ -20305,7 +20305,7 @@ fn emitBackwardBranch(sema: *Sema, block: *Block, src: LazySrcLoc) !void { |
| 20305 | 20305 | "use @setEvalBranchQuota() to raise the branch limit from {d}", |
| 20306 | 20306 | .{sema.branch_quota}, |
| 20307 | 20307 | ); |
| 20308 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 20308 | return sema.failWithOwnedErrorMsg(msg); |
| 20309 | 20309 | } |
| 20310 | 20310 | } |
| 20311 | 20311 | |
| ... | ... | @@ -20413,7 +20413,7 @@ fn fieldVal( |
| 20413 | 20413 | try sema.addDeclaredHereNote(msg, child_type); |
| 20414 | 20414 | break :msg msg; |
| 20415 | 20415 | }; |
| 20416 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 20416 | return sema.failWithOwnedErrorMsg(msg); |
| 20417 | 20417 | } else (try sema.mod.getErrorValue(field_name)).key; |
| 20418 | 20418 | |
| 20419 | 20419 | return sema.addConstant( |
| ... | ... | @@ -20468,7 +20468,7 @@ fn fieldVal( |
| 20468 | 20468 | if (child_type.zigTypeTag() == .Array) try sema.errNote(block, src, msg, "array values have 'len' member", .{}); |
| 20469 | 20469 | break :msg msg; |
| 20470 | 20470 | }; |
| 20471 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 20471 | return sema.failWithOwnedErrorMsg(msg); |
| 20472 | 20472 | }, |
| 20473 | 20473 | } |
| 20474 | 20474 | }, |
| ... | ... | @@ -20806,7 +20806,7 @@ fn fieldCallBind( |
| 20806 | 20806 | try sema.addDeclaredHereNote(msg, concrete_ty); |
| 20807 | 20807 | break :msg msg; |
| 20808 | 20808 | }; |
| 20809 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 20809 | return sema.failWithOwnedErrorMsg(msg); |
| 20810 | 20810 | } |
| 20811 | 20811 | |
| 20812 | 20812 | fn finishFieldCallBind( |
| ... | ... | @@ -20861,7 +20861,7 @@ fn namespaceLookup( |
| 20861 | 20861 | try sema.mod.errNoteNonLazy(decl.srcLoc(), msg, "declared here", .{}); |
| 20862 | 20862 | break :msg msg; |
| 20863 | 20863 | }; |
| 20864 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 20864 | return sema.failWithOwnedErrorMsg(msg); |
| 20865 | 20865 | } |
| 20866 | 20866 | return decl_index; |
| 20867 | 20867 | } |
| ... | ... | @@ -21194,7 +21194,7 @@ fn unionFieldPtr( |
| 21194 | 21194 | try sema.addDeclaredHereNote(msg, union_ty); |
| 21195 | 21195 | break :msg msg; |
| 21196 | 21196 | }; |
| 21197 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 21197 | return sema.failWithOwnedErrorMsg(msg); |
| 21198 | 21198 | } |
| 21199 | 21199 | }, |
| 21200 | 21200 | .Packed, .Extern => {}, |
| ... | ... | @@ -21264,7 +21264,7 @@ fn unionFieldVal( |
| 21264 | 21264 | try sema.addDeclaredHereNote(msg, union_ty); |
| 21265 | 21265 | break :msg msg; |
| 21266 | 21266 | }; |
| 21267 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 21267 | return sema.failWithOwnedErrorMsg(msg); |
| 21268 | 21268 | } |
| 21269 | 21269 | }, |
| 21270 | 21270 | .Packed, .Extern => { |
| ... | ... | @@ -21438,7 +21438,7 @@ fn validateRuntimeElemAccess( |
| 21438 | 21438 | |
| 21439 | 21439 | break :msg msg; |
| 21440 | 21440 | }; |
| 21441 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 21441 | return sema.failWithOwnedErrorMsg(msg); |
| 21442 | 21442 | } |
| 21443 | 21443 | } |
| 21444 | 21444 | |
| ... | ... | @@ -22214,7 +22214,7 @@ fn coerceExtra( |
| 22214 | 22214 | try sema.addDeclaredHereNote(msg, dest_ty); |
| 22215 | 22215 | break :msg msg; |
| 22216 | 22216 | }; |
| 22217 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 22217 | return sema.failWithOwnedErrorMsg(msg); |
| 22218 | 22218 | }; |
| 22219 | 22219 | return sema.addConstant( |
| 22220 | 22220 | dest_ty, |
| ... | ... | @@ -22342,7 +22342,7 @@ fn coerceExtra( |
| 22342 | 22342 | try sema.mod.errNoteNonLazy(ret_ty_src.toSrcLoc(src_decl), msg, "'noreturn' declared here", .{}); |
| 22343 | 22343 | break :msg msg; |
| 22344 | 22344 | }; |
| 22345 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 22345 | return sema.failWithOwnedErrorMsg(msg); |
| 22346 | 22346 | } |
| 22347 | 22347 | |
| 22348 | 22348 | const msg = msg: { |
| ... | ... | @@ -22383,7 +22383,7 @@ fn coerceExtra( |
| 22383 | 22383 | |
| 22384 | 22384 | break :msg msg; |
| 22385 | 22385 | }; |
| 22386 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 22386 | return sema.failWithOwnedErrorMsg(msg); |
| 22387 | 22387 | } |
| 22388 | 22388 | |
| 22389 | 22389 | const InMemoryCoercionResult = union(enum) { |
| ... | ... | @@ -24448,7 +24448,7 @@ fn coerceEnumToUnion( |
| 24448 | 24448 | try sema.addDeclaredHereNote(msg, union_ty); |
| 24449 | 24449 | break :msg msg; |
| 24450 | 24450 | }; |
| 24451 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 24451 | return sema.failWithOwnedErrorMsg(msg); |
| 24452 | 24452 | }; |
| 24453 | 24453 | |
| 24454 | 24454 | const enum_tag = try sema.coerce(block, tag_ty, inst, inst_src); |
| ... | ... | @@ -24463,7 +24463,7 @@ fn coerceEnumToUnion( |
| 24463 | 24463 | try sema.addDeclaredHereNote(msg, union_ty); |
| 24464 | 24464 | break :msg msg; |
| 24465 | 24465 | }; |
| 24466 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 24466 | return sema.failWithOwnedErrorMsg(msg); |
| 24467 | 24467 | }; |
| 24468 | 24468 | const field = union_obj.fields.values()[field_index]; |
| 24469 | 24469 | const field_ty = try sema.resolveTypeFields(block, inst_src, field.ty); |
| ... | ... | @@ -24479,7 +24479,7 @@ fn coerceEnumToUnion( |
| 24479 | 24479 | try sema.addDeclaredHereNote(msg, union_ty); |
| 24480 | 24480 | break :msg msg; |
| 24481 | 24481 | }; |
| 24482 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 24482 | return sema.failWithOwnedErrorMsg(msg); |
| 24483 | 24483 | }; |
| 24484 | 24484 | |
| 24485 | 24485 | return sema.addConstant(union_ty, try Value.Tag.@"union".create(sema.arena, .{ |
| ... | ... | @@ -24499,7 +24499,7 @@ fn coerceEnumToUnion( |
| 24499 | 24499 | try sema.addDeclaredHereNote(msg, tag_ty); |
| 24500 | 24500 | break :msg msg; |
| 24501 | 24501 | }; |
| 24502 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 24502 | return sema.failWithOwnedErrorMsg(msg); |
| 24503 | 24503 | } |
| 24504 | 24504 | |
| 24505 | 24505 | // If the union has all fields 0 bits, the union value is just the enum value. |
| ... | ... | @@ -24528,7 +24528,7 @@ fn coerceEnumToUnion( |
| 24528 | 24528 | try sema.addDeclaredHereNote(msg, union_ty); |
| 24529 | 24529 | break :msg msg; |
| 24530 | 24530 | }; |
| 24531 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 24531 | return sema.failWithOwnedErrorMsg(msg); |
| 24532 | 24532 | } |
| 24533 | 24533 | |
| 24534 | 24534 | fn coerceAnonStructToUnion( |
| ... | ... | @@ -24557,7 +24557,7 @@ fn coerceAnonStructToUnion( |
| 24557 | 24557 | try sema.addDeclaredHereNote(msg, union_ty); |
| 24558 | 24558 | break :msg msg; |
| 24559 | 24559 | }; |
| 24560 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 24560 | return sema.failWithOwnedErrorMsg(msg); |
| 24561 | 24561 | } |
| 24562 | 24562 | |
| 24563 | 24563 | const field_name = anon_struct.names[0]; |
| ... | ... | @@ -24617,7 +24617,7 @@ fn coerceArrayLike( |
| 24617 | 24617 | try sema.errNote(block, inst_src, msg, "source has length {d}", .{inst_len}); |
| 24618 | 24618 | break :msg msg; |
| 24619 | 24619 | }; |
| 24620 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 24620 | return sema.failWithOwnedErrorMsg(msg); |
| 24621 | 24621 | } |
| 24622 | 24622 | |
| 24623 | 24623 | const dest_elem_ty = dest_ty.childType(); |
| ... | ... | @@ -24689,7 +24689,7 @@ fn coerceTupleToArray( |
| 24689 | 24689 | try sema.errNote(block, inst_src, msg, "source has length {d}", .{inst_len}); |
| 24690 | 24690 | break :msg msg; |
| 24691 | 24691 | }; |
| 24692 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 24692 | return sema.failWithOwnedErrorMsg(msg); |
| 24693 | 24693 | } |
| 24694 | 24694 | |
| 24695 | 24695 | const dest_elems = try sema.usizeCast(block, dest_ty_src, dest_ty.arrayLenIncludingSentinel()); |
| ... | ... | @@ -24852,7 +24852,7 @@ fn coerceTupleToStruct( |
| 24852 | 24852 | |
| 24853 | 24853 | if (root_msg) |msg| { |
| 24854 | 24854 | try sema.addDeclaredHereNote(msg, struct_ty); |
| 24855 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 24855 | return sema.failWithOwnedErrorMsg(msg); |
| 24856 | 24856 | } |
| 24857 | 24857 | |
| 24858 | 24858 | if (runtime_src) |rs| { |
| ... | ... | @@ -24956,7 +24956,7 @@ fn coerceTupleToTuple( |
| 24956 | 24956 | |
| 24957 | 24957 | if (root_msg) |msg| { |
| 24958 | 24958 | try sema.addDeclaredHereNote(msg, tuple_ty); |
| 24959 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 24959 | return sema.failWithOwnedErrorMsg(msg); |
| 24960 | 24960 | } |
| 24961 | 24961 | |
| 24962 | 24962 | if (runtime_src) |rs| { |
| ... | ... | @@ -25521,7 +25521,7 @@ fn analyzeSlice( |
| 25521 | 25521 | |
| 25522 | 25522 | break :msg msg; |
| 25523 | 25523 | }; |
| 25524 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 25524 | return sema.failWithOwnedErrorMsg(msg); |
| 25525 | 25525 | } |
| 25526 | 25526 | } |
| 25527 | 25527 | } |
| ... | ... | @@ -26470,7 +26470,7 @@ fn resolvePeerTypes( |
| 26470 | 26470 | |
| 26471 | 26471 | break :msg msg; |
| 26472 | 26472 | }; |
| 26473 | | return sema.failWithOwnedErrorMsg(block, msg); |
| 26473 | return sema.failWithOwnedErrorMsg(msg); |
| 26474 | 26474 | } |
| 26475 | 26475 | |
| 26476 | 26476 | const chosen_ty = sema.typeOf(chosen); |
| ... | ... | @@ -27068,7 +27068,7 @@ fn semaStructFields(mod: *Module, struct_obj: *Module.Struct) CompileError!void |
| 27068 | 27068 | try sema.errNote(&block_scope, src, msg, "struct declared here", .{}); |
| 27069 | 27069 | break :msg msg; |
| 27070 | 27070 | }; |
| 27071 | | return sema.failWithOwnedErrorMsg(&block_scope, msg); |
| 27071 | return sema.failWithOwnedErrorMsg(msg); |
| 27072 | 27072 | } |
| 27073 | 27073 | gop.value_ptr.* = .{ |
| 27074 | 27074 | .ty = Type.initTag(.noreturn), |
| ... | ... | @@ -27127,7 +27127,7 @@ fn semaStructFields(mod: *Module, struct_obj: *Module.Struct) CompileError!void |
| 27127 | 27127 | try sema.addDeclaredHereNote(msg, field_ty); |
| 27128 | 27128 | break :msg msg; |
| 27129 | 27129 | }; |
| 27130 | | return sema.failWithOwnedErrorMsg(&block_scope, msg); |
| 27130 | return sema.failWithOwnedErrorMsg(msg); |
| 27131 | 27131 | } |
| 27132 | 27132 | if (struct_obj.layout == .Extern and !sema.validateExternType(field.ty, .other)) { |
| 27133 | 27133 | const msg = msg: { |
| ... | ... | @@ -27141,7 +27141,7 @@ fn semaStructFields(mod: *Module, struct_obj: *Module.Struct) CompileError!void |
| 27141 | 27141 | try sema.addDeclaredHereNote(msg, field.ty); |
| 27142 | 27142 | break :msg msg; |
| 27143 | 27143 | }; |
| 27144 | | return sema.failWithOwnedErrorMsg(&block_scope, msg); |
| 27144 | return sema.failWithOwnedErrorMsg(msg); |
| 27145 | 27145 | } else if (struct_obj.layout == .Packed and !(validatePackedType(field.ty))) { |
| 27146 | 27146 | const msg = msg: { |
| 27147 | 27147 | const tree = try sema.getAstTree(&block_scope); |
| ... | ... | @@ -27154,7 +27154,7 @@ fn semaStructFields(mod: *Module, struct_obj: *Module.Struct) CompileError!void |
| 27154 | 27154 | try sema.addDeclaredHereNote(msg, field.ty); |
| 27155 | 27155 | break :msg msg; |
| 27156 | 27156 | }; |
| 27157 | | return sema.failWithOwnedErrorMsg(&block_scope, msg); |
| 27157 | return sema.failWithOwnedErrorMsg(msg); |
| 27158 | 27158 | } |
| 27159 | 27159 | |
| 27160 | 27160 | if (zir_field.align_body_len > 0) { |
| ... | ... | @@ -27436,7 +27436,7 @@ fn semaUnionFields(mod: *Module, union_obj: *Module.Union) CompileError!void { |
| 27436 | 27436 | try sema.errNote(&block_scope, src, msg, "union declared here", .{}); |
| 27437 | 27437 | break :msg msg; |
| 27438 | 27438 | }; |
| 27439 | | return sema.failWithOwnedErrorMsg(&block_scope, msg); |
| 27439 | return sema.failWithOwnedErrorMsg(msg); |
| 27440 | 27440 | } |
| 27441 | 27441 | |
| 27442 | 27442 | if (tag_ty_field_names) |*names| { |
| ... | ... | @@ -27450,7 +27450,7 @@ fn semaUnionFields(mod: *Module, union_obj: *Module.Union) CompileError!void { |
| 27450 | 27450 | try sema.addDeclaredHereNote(msg, union_obj.tag_ty); |
| 27451 | 27451 | break :msg msg; |
| 27452 | 27452 | }; |
| 27453 | | return sema.failWithOwnedErrorMsg(&block_scope, msg); |
| 27453 | return sema.failWithOwnedErrorMsg(msg); |
| 27454 | 27454 | } |
| 27455 | 27455 | } |
| 27456 | 27456 | |
| ... | ... | @@ -27464,7 +27464,7 @@ fn semaUnionFields(mod: *Module, union_obj: *Module.Union) CompileError!void { |
| 27464 | 27464 | try sema.addDeclaredHereNote(msg, field_ty); |
| 27465 | 27465 | break :msg msg; |
| 27466 | 27466 | }; |
| 27467 | | return sema.failWithOwnedErrorMsg(&block_scope, msg); |
| 27467 | return sema.failWithOwnedErrorMsg(msg); |
| 27468 | 27468 | } |
| 27469 | 27469 | if (union_obj.layout == .Extern and !sema.validateExternType(field_ty, .union_field)) { |
| 27470 | 27470 | const msg = msg: { |
| ... | ... | @@ -27478,7 +27478,7 @@ fn semaUnionFields(mod: *Module, union_obj: *Module.Union) CompileError!void { |
| 27478 | 27478 | try sema.addDeclaredHereNote(msg, field_ty); |
| 27479 | 27479 | break :msg msg; |
| 27480 | 27480 | }; |
| 27481 | | return sema.failWithOwnedErrorMsg(&block_scope, msg); |
| 27481 | return sema.failWithOwnedErrorMsg(msg); |
| 27482 | 27482 | } else if (union_obj.layout == .Packed and !(validatePackedType(field_ty))) { |
| 27483 | 27483 | const msg = msg: { |
| 27484 | 27484 | const tree = try sema.getAstTree(&block_scope); |
| ... | ... | @@ -27491,7 +27491,7 @@ fn semaUnionFields(mod: *Module, union_obj: *Module.Union) CompileError!void { |
| 27491 | 27491 | try sema.addDeclaredHereNote(msg, field_ty); |
| 27492 | 27492 | break :msg msg; |
| 27493 | 27493 | }; |
| 27494 | | return sema.failWithOwnedErrorMsg(&block_scope, msg); |
| 27494 | return sema.failWithOwnedErrorMsg(msg); |
| 27495 | 27495 | } |
| 27496 | 27496 | |
| 27497 | 27497 | gop.value_ptr.* = .{ |
| ... | ... | @@ -27523,7 +27523,7 @@ fn semaUnionFields(mod: *Module, union_obj: *Module.Union) CompileError!void { |
| 27523 | 27523 | try sema.addDeclaredHereNote(msg, union_obj.tag_ty); |
| 27524 | 27524 | break :msg msg; |
| 27525 | 27525 | }; |
| 27526 | | return sema.failWithOwnedErrorMsg(&block_scope, msg); |
| 27526 | return sema.failWithOwnedErrorMsg(msg); |
| 27527 | 27527 | } |
| 27528 | 27528 | } |
| 27529 | 27529 | } |