diff --git a/src/Module.zig b/src/Module.zig index 37ec79796d..c13be489bb 100644 --- a/src/Module.zig +++ b/src/Module.zig @@ -1566,12 +1566,6 @@ pub const ErrorMsg = struct { gpa.free(err_msg.reference_trace); err_msg.* = undefined; } - - pub fn clearTrace(err_msg: *ErrorMsg, gpa: Allocator) void { - if (err_msg.reference_trace.len == 0) return; - gpa.free(err_msg.reference_trace); - err_msg.reference_trace = &.{}; - } }; /// Canonical reference to a position within a source file. diff --git a/src/Sema.zig b/src/Sema.zig index f8ae2aee1b..8817f6f503 100644 --- a/src/Sema.zig +++ b/src/Sema.zig @@ -2409,8 +2409,8 @@ fn failWithOwnedErrorMsg(sema: *Sema, err_msg: *Module.ErrorMsg) CompileError { break :blk default_reference_trace_len; }; - var referenced_by = if (sema.func_index != .none) - mod.funcOwnerDeclIndex(sema.func_index) + var referenced_by = if (sema.owner_func_index != .none) + mod.funcOwnerDeclIndex(sema.owner_func_index) else sema.owner_decl_index; var reference_stack = std.ArrayList(Module.ErrorMsg.Trace).init(gpa); @@ -7430,7 +7430,6 @@ fn analyzeCall( const err_msg = sema.err orelse return err; if (mem.eql(u8, err_msg.msg, recursive_msg)) return err; try sema.errNote(block, call_src, err_msg, "called from here", .{}); - err_msg.clearTrace(gpa); return err; }, else => |e| return e,