zig fmt / std.zig.Ast: count addrspace tokens correctly

This commit is contained in:
rpkak 2025-04-04 11:07:15 +02:00
parent 1914d1a6e5
commit c33966167c
2 changed files with 13 additions and 0 deletions

View file

@ -1195,6 +1195,9 @@ pub fn lastToken(tree: Ast, node: Node.Index) TokenIndex {
if (extra.section_node.unwrap()) |section_node| {
end_offset += 1; // for the rparen
n = section_node;
} else if (extra.addrspace_node.unwrap()) |addrspace_node| {
end_offset += 1; // for the rparen
n = addrspace_node;
} else if (extra.align_node.unwrap()) |align_node| {
end_offset += 1; // for the rparen
n = align_node;

View file

@ -6074,6 +6074,16 @@ test "zig fmt: do not canonicalize invalid cast builtins" {
);
}
test "zig fmt: extern addrspace in struct" {
try testCanonical(
\\const namespace = struct {
\\ extern const num: u8 addrspace(.generic);
\\};
\\// comment
\\
);
}
test "recovery: top level" {
try testError(
\\test "" {inline}