| ... | @@ -5241,15 +5241,19 @@ fn failWithBadMemberAccess( | ... | @@ -5241,15 +5241,19 @@ fn failWithBadMemberAccess( |
| 5241 | .Enum => "enum", | 5241 | .Enum => "enum", |
| 5242 | else => unreachable, | 5242 | else => unreachable, |
| 5243 | }; | 5243 | }; |
| 5244 | if (agg_ty.getOwnerDeclOrNull(mod)) |some| if (mod.declIsRoot(some)) { | | |
| 5245 | return sema.fail(block, field_src, "root struct of file '{}' has no member named '{}'", .{ | | |
| 5246 | agg_ty.fmt(mod), field_name.fmt(&mod.intern_pool), | | |
| 5247 | }); | | |
| 5248 | }; | | |
| 5249 | const msg = msg: { | 5244 | const msg = msg: { |
| 5250 | const msg = try sema.errMsg(block, field_src, "{s} '{}' has no member named '{}'", .{ | 5245 | const msg = blk: { |
| 5251 | kw_name, agg_ty.fmt(mod), field_name.fmt(&mod.intern_pool), | 5246 | if (agg_ty.getOwnerDeclOrNull(mod)) |some| if (mod.declIsRoot(some)) { |
| 5252 | }); | 5247 | break :blk try sema.errMsg(block, field_src, "root struct of file '{}' has no member named '{}'", .{ |
| | 5248 | agg_ty.fmt(mod), field_name.fmt(&mod.intern_pool), |
| | 5249 | }); |
| | 5250 | }; |
| | 5251 | |
| | 5252 | break :blk try sema.errMsg(block, field_src, "{s} '{}' has no member named '{}'", .{ |
| | 5253 | kw_name, agg_ty.fmt(mod), field_name.fmt(&mod.intern_pool), |
| | 5254 | }); |
| | 5255 | }; |
| | 5256 | |
| 5253 | errdefer msg.destroy(sema.gpa); | 5257 | errdefer msg.destroy(sema.gpa); |
| 5254 | try sema.addDeclaredHereNote(msg, agg_ty); | 5258 | try sema.addDeclaredHereNote(msg, agg_ty); |
| 5255 | break :msg msg; | 5259 | break :msg msg; |