Skip to content

Commit 1f475de

Browse files
committed
Sema: fix unwrapping null when reporting error on member access
Closes #14399
1 parent 5259d11 commit 1f475de

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

src/Sema.zig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4643,11 +4643,11 @@ fn failWithBadMemberAccess(
46434643
.Enum => "enum",
46444644
else => unreachable,
46454645
};
4646-
if (sema.mod.declIsRoot(agg_ty.getOwnerDecl())) {
4646+
if (agg_ty.getOwnerDeclOrNull()) |some| if (sema.mod.declIsRoot(some)) {
46474647
return sema.fail(block, field_src, "root struct of file '{}' has no member named '{s}'", .{
46484648
agg_ty.fmt(sema.mod), field_name,
46494649
});
4650-
}
4650+
};
46514651
const msg = msg: {
46524652
const msg = try sema.errMsg(block, field_src, "{s} '{}' has no member named '{s}'", .{
46534653
kw_name, agg_ty.fmt(sema.mod), field_name,
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
comptime {
2+
_ = @TypeOf(.{}).is_optional;
3+
}
4+
5+
// error
6+
// backend=stage2
7+
// target=native
8+
//
9+
// :2:21: error: struct '@TypeOf(.{})' has no member named 'is_optional'

0 commit comments

Comments
 (0)