authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2023-01-21 23:17:02+02:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2023-01-22 01:04:20+02:00
log1f475de852daddbf88e8165cdaef492e616ce3fe
tree61282a0fe27a265078700bd43679018834b3d1e8
parent5259d11e3b75b9b910fa1b0a479aedb702e256f6

Sema: fix unwrapping null when reporting error on member access

Closes #14399

2 files changed, 11 insertions(+), 2 deletions(-)

src/Sema.zig+2-2
......@@ -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,
test/cases/compile_errors/bad_member_access_on_tuple.zig created+9
......@@ -0,0 +1,9 @@
1comptime {
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'