authorgravatar for johnnymarler@gmail.comJonathan Marler <johnnymarler@gmail.com> 2020-07-01 23:04:05-06:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-07-05 22:27:50+00:00
log27c1e0b453d50f8c242fd1153290a00b74dff018
treef847c3c7a641324fb05a8501ba4b83daa0d26889
parentdcca5cf1a9241e7274ae03a587b7e3313d673f3e

Fix issue 5757: increase branch quota for formatting enums


1 files changed, 4 insertions(+), 0 deletions(-)

lib/std/fmt.zig+4
......@@ -366,6 +366,7 @@ pub fn formatType(
366366 }
367367
368368 // Use @tagName only if value is one of known fields
369 @setEvalBranchQuota(3 * enumInfo.fields.len);
369370 inline for (enumInfo.fields) |enumField| {
370371 if (@enumToInt(value) == enumField.value) {
371372 try writer.writeAll(".");
......@@ -1321,6 +1322,9 @@ test "enum" {
13211322 try testFmt("enum: Enum.Two\n", "enum: {}\n", .{&value});
13221323 try testFmt("enum: Enum.One\n", "enum: {x}\n", .{Enum.One});
13231324 try testFmt("enum: Enum.Two\n", "enum: {X}\n", .{Enum.Two});
1325
1326 // test very large enum to verify ct branch quota is large enough
1327 try testFmt("enum: Win32Error.INVALID_FUNCTION\n", "enum: {}\n", .{std.os.windows.Win32Error.INVALID_FUNCTION});
13241328}
13251329
13261330test "non-exhaustive enum" {