zig fmt: fix 0 element struct and array init

This commit is contained in:
Isaac Freund 2021-02-10 19:19:58 +01:00 committed by Andrew Kelley
parent 5df7fc36c6
commit 515d4920e7
2 changed files with 32 additions and 2 deletions

View File

@ -796,8 +796,11 @@ pub const Tree = struct {
.StructInitOne,
=> {
end_offset += 1; // rbrace
n = datas[n].rhs;
assert(n != 0);
if (datas[n].rhs == 0) {
return main_tokens[n] + end_offset;
} else {
n = datas[n].rhs;
}
},
.SliceOpen,
.CallOneComma,

View File

@ -464,6 +464,15 @@ test "zig fmt: anon literal in array" {
// );
//}
test "zig fmt: anon struct literal 0 element" {
try testCanonical(
\\test {
\\ const x = .{};
\\}
\\
);
}
test "zig fmt: anon struct literal 1 element" {
try testCanonical(
\\test {
@ -527,6 +536,15 @@ test "zig fmt: anon struct literal 3 element comma" {
);
}
test "zig fmt: struct literal 0 element" {
try testCanonical(
\\test {
\\ const x = X{};
\\}
\\
);
}
test "zig fmt: struct literal 1 element" {
try testCanonical(
\\test {
@ -653,6 +671,15 @@ test "zig fmt: anon list literal 3 element comma" {
);
}
test "zig fmt: array literal 0 element" {
try testCanonical(
\\test {
\\ const x = [_]u32{};
\\}
\\
);
}
test "zig fmt: array literal 1 element" {
try testCanonical(
\\test {