| ... | ... | @@ -5241,15 +5241,19 @@ fn failWithBadMemberAccess( |
| 5241 | 5241 | .Enum => "enum", |
| 5242 | 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 | 5244 | const msg = msg: { |
| 5250 | | const msg = try sema.errMsg(block, field_src, "{s} '{}' has no member named '{}'", .{ |
| 5251 | | kw_name, agg_ty.fmt(mod), field_name.fmt(&mod.intern_pool), |
| 5252 | | }); |
| 5245 | const msg = blk: { |
| 5246 | if (agg_ty.getOwnerDeclOrNull(mod)) |some| if (mod.declIsRoot(some)) { |
| 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 | 5257 | errdefer msg.destroy(sema.gpa); |
| 5254 | 5258 | try sema.addDeclaredHereNote(msg, agg_ty); |
| 5255 | 5259 | break :msg msg; |