From fa5fcdd7343b8e759971ea14adead830b1f7c616 Mon Sep 17 00:00:00 2001 From: Andrew Kelley Date: Tue, 9 Feb 2021 22:42:00 -0700 Subject: zig fmt: fix regression with many container members --- lib/std/zig/ast.zig | 2 +- lib/std/zig/parse.zig | 5 +---- lib/std/zig/parser_test.zig | 34 +++++++++++++++++----------------- 3 files changed, 19 insertions(+), 22 deletions(-) (limited to 'lib/std') 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; -- cgit v1.2.3