diff options
| author | Andrew Kelley <andrew@ziglang.org> | 2021-02-09 22:42:00 -0700 |
|---|---|---|
| committer | Andrew Kelley <andrew@ziglang.org> | 2021-02-09 22:42:00 -0700 |
| commit | fa5fcdd7343b8e759971ea14adead830b1f7c616 (patch) | |
| tree | b9d0ae701885f7787dc1751089642ae97340cdcb | |
| parent | 9d87e6aeb8dd9c46b10483c31a392d7dac8a7dc4 (diff) | |
| download | zig-fa5fcdd7343b8e759971ea14adead830b1f7c616.tar.gz zig-fa5fcdd7343b8e759971ea14adead830b1f7c616.zip | |
zig fmt: fix regression with many container members
| -rw-r--r-- | lib/std/zig/ast.zig | 2 | ||||
| -rw-r--r-- | lib/std/zig/parse.zig | 5 | ||||
| -rw-r--r-- | lib/std/zig/parser_test.zig | 34 |
3 files changed, 19 insertions, 22 deletions
diff --git a/lib/std/zig/ast.zig b/lib/std/zig/ast.zig index 35b10c6e2c..ea01a63096 100644 --- a/lib/std/zig/ast.zig +++ b/lib/std/zig/ast.zig @@ -1409,7 +1409,7 @@ pub const Tree = struct { return tree.fullContainerDecl(.{ .main_token = main_token, .enum_token = main_token + 2, // union lparen enum - .members = tree.extra_data[data.lhs..data.rhs], + .members = tree.extra_data[members_range.start..members_range.end], .arg = data.lhs, }); } diff --git a/lib/std/zig/parse.zig b/lib/std/zig/parse.zig index da45090ffd..9bc3385105 100644 --- a/lib/std/zig/parse.zig +++ b/lib/std/zig/parse.zig @@ -3609,10 +3609,7 @@ const Parser = struct { .main_token = main_token, .data = .{ .lhs = enum_tag_expr, - .rhs = try p.addExtra(Node.SubRange{ - .start = members_span.start, - .end = members_span.end, - }), + .rhs = try p.addExtra(members_span), }, }); } else { diff --git a/lib/std/zig/parser_test.zig b/lib/std/zig/parser_test.zig index 6b9f39a728..bbca2741f2 100644 --- a/lib/std/zig/parser_test.zig +++ b/lib/std/zig/parser_test.zig @@ -734,23 +734,23 @@ test "zig fmt: while else err prong with no block" { ); } -//test "zig fmt: tagged union with enum values" { -// try testCanonical( -// \\const MultipleChoice2 = union(enum(u32)) { -// \\ Unspecified1: i32, -// \\ A: f32 = 20, -// \\ Unspecified2: void, -// \\ B: bool = 40, -// \\ Unspecified3: i32, -// \\ C: i8 = 60, -// \\ Unspecified4: void, -// \\ D: void = 1000, -// \\ Unspecified5: i32, -// \\}; -// \\ -// ); -//} -// +test "zig fmt: tagged union with enum values" { + try testCanonical( + \\const MultipleChoice2 = union(enum(u32)) { + \\ Unspecified1: i32, + \\ A: f32 = 20, + \\ Unspecified2: void, + \\ B: bool = 40, + \\ Unspecified3: i32, + \\ C: i8 = 60, + \\ Unspecified4: void, + \\ D: void = 1000, + \\ Unspecified5: i32, + \\}; + \\ + ); +} + //test "zig fmt: allowzero pointer" { // try testCanonical( // \\const T = [*]allowzero const u8; |
