mirror of
https://github.com/ziglang/zig.git
synced 2026-02-13 04:48:20 +00:00
Sema: implement reference trace with called from here notes
Closes #15124
This commit is contained in:
parent
ff61c42879
commit
c6024691cf
@ -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.
|
||||
|
||||
@ -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,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user