AstGen: pre-scan all decls in a namespace
Also: * improve the "ambiguous reference" error by swapping the order of "declared here" and "also declared here" notes. * improve the "not accessible from inner function" error: - point out that it has to do with the thing being mutable - eliminate the incorrect association with it being a function - note where it crosses a namespace boundary * struct field types are evaluated in a context that has the struct namespace visible. Likewise with align expressions, linksection expressions, enum tag values, and union/enum tag argument expressions. Closes #9194 Closes #9622
This commit is contained in:
@@ -2648,7 +2648,10 @@ pub fn astGenFile(mod: *Module, file: *Scope.File) !void {
|
||||
undefined;
|
||||
defer if (data_has_safety_tag) gpa.free(safety_buffer);
|
||||
const data_ptr = if (data_has_safety_tag)
|
||||
@ptrCast([*]const u8, safety_buffer.ptr)
|
||||
if (file.zir.instructions.len == 0)
|
||||
@as([*]const u8, undefined)
|
||||
else
|
||||
@ptrCast([*]const u8, safety_buffer.ptr)
|
||||
else
|
||||
@ptrCast([*]const u8, file.zir.instructions.items(.data).ptr);
|
||||
if (data_has_safety_tag) {
|
||||
|
||||
Reference in New Issue
Block a user