mirror of
https://github.com/ziglang/zig.git
synced 2026-01-20 14:25:16 +00:00
Add struct declaration location to empty root struct field member error
This commit is contained in:
parent
d44f822821
commit
7b99189f19
20
src/Sema.zig
20
src/Sema.zig
@ -5241,15 +5241,19 @@ fn failWithBadMemberAccess(
|
||||
.Enum => "enum",
|
||||
else => unreachable,
|
||||
};
|
||||
if (agg_ty.getOwnerDeclOrNull(mod)) |some| if (mod.declIsRoot(some)) {
|
||||
return sema.fail(block, field_src, "root struct of file '{}' has no member named '{}'", .{
|
||||
agg_ty.fmt(mod), field_name.fmt(&mod.intern_pool),
|
||||
});
|
||||
};
|
||||
const msg = msg: {
|
||||
const msg = try sema.errMsg(block, field_src, "{s} '{}' has no member named '{}'", .{
|
||||
kw_name, agg_ty.fmt(mod), field_name.fmt(&mod.intern_pool),
|
||||
});
|
||||
const msg = blk: {
|
||||
if (agg_ty.getOwnerDeclOrNull(mod)) |some| if (mod.declIsRoot(some)) {
|
||||
break :blk try sema.errMsg(block, field_src, "root struct of file '{}' has no member named '{}'", .{
|
||||
agg_ty.fmt(mod), field_name.fmt(&mod.intern_pool),
|
||||
});
|
||||
};
|
||||
|
||||
break :blk try sema.errMsg(block, field_src, "{s} '{}' has no member named '{}'", .{
|
||||
kw_name, agg_ty.fmt(mod), field_name.fmt(&mod.intern_pool),
|
||||
});
|
||||
};
|
||||
|
||||
errdefer msg.destroy(sema.gpa);
|
||||
try sema.addDeclaredHereNote(msg, agg_ty);
|
||||
break :msg msg;
|
||||
|
||||
@ -8,3 +8,4 @@ export fn entry() usize {
|
||||
// target=native
|
||||
//
|
||||
// :1:29: error: root struct of file 'builtin' has no member named 'bogus'
|
||||
// note: struct declared here
|
||||
|
||||
@ -4,6 +4,7 @@
|
||||
// output_mode=Exe
|
||||
//
|
||||
// : error: root struct of file 'tmp' has no member named 'main'
|
||||
// : note: struct declared here
|
||||
// : note: called from here
|
||||
// : note: called from here
|
||||
// : note: called from here
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user