authorgravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-05-17 17:07:27-04:00
committergravatar for andrew@ziglang.orgAndrew Kelley <andrew@ziglang.org> 2020-05-17 17:07:27-04:00
logfeade9ef0010b1b47d7216e786ed964d09612c2b
treeb940f39a4525457e24efbb10c1f18dc99295e83c
parent2a5c0ef7f0127a699cce024d7bdcca4095a9c67e

std.json: support stringify for anyerror


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

lib/std/json.zig+2
...@@ -2434,6 +2434,7 @@ pub fn stringify(...@@ -2434,6 +2434,7 @@ pub fn stringify(
24342434
2435 @compileError("Unable to stringify enum '" ++ @typeName(T) ++ "'");2435 @compileError("Unable to stringify enum '" ++ @typeName(T) ++ "'");
2436 },2436 },
2437 .ErrorSet => return out_stream.writeAll(@errorName(value)),
2437 .Union => {2438 .Union => {
2438 if (comptime std.meta.trait.hasFn("jsonStringify")(T)) {2439 if (comptime std.meta.trait.hasFn("jsonStringify")(T)) {
2439 return value.jsonStringify(options, out_stream);2440 return value.jsonStringify(options, out_stream);
...@@ -2646,6 +2647,7 @@ test "stringify basic types" {...@@ -2646,6 +2647,7 @@ test "stringify basic types" {
2646 try teststringify("42", @as(u128, 42), StringifyOptions{});2647 try teststringify("42", @as(u128, 42), StringifyOptions{});
2647 try teststringify("4.2e+01", @as(f32, 42), StringifyOptions{});2648 try teststringify("4.2e+01", @as(f32, 42), StringifyOptions{});
2648 try teststringify("4.2e+01", @as(f64, 42), StringifyOptions{});2649 try teststringify("4.2e+01", @as(f64, 42), StringifyOptions{});
2650 try teststringify("ItBroke", @as(anyerror, error.ItBroke), StringifyOptions{});
2649}2651}
26502652
2651test "stringify string" {2653test "stringify string" {