aboutsummaryrefslogtreecommitdiff
path: root/lib/std/json.zig
diff options
context:
space:
mode:
authorAndrew Kelley <andrew@ziglang.org>2020-05-18 19:23:40 -0400
committerAndrew Kelley <andrew@ziglang.org>2020-05-18 19:23:40 -0400
commit1cde0edff469fbe5ee62cb10a44161b4c9910f98 (patch)
tree19ff9492e6692450463d501481e583a05b803587 /lib/std/json.zig
parentfe28d732710b916695c6926a06aad0cc93156516 (diff)
downloadzig-1cde0edff469fbe5ee62cb10a44161b4c9910f98.tar.gz
zig-1cde0edff469fbe5ee62cb10a44161b4c9910f98.zip
json: properly stringify error sets
I did this wrong originally in feade9ef0010b1b47d7216e786ed964d09612c2b
Diffstat (limited to 'lib/std/json.zig')
-rw-r--r--lib/std/json.zig4
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/std/json.zig b/lib/std/json.zig
index 330c119269..095a446d00 100644
--- a/lib/std/json.zig
+++ b/lib/std/json.zig
@@ -2434,7 +2434,6 @@ pub fn stringify(
@compileError("Unable to stringify enum '" ++ @typeName(T) ++ "'");
},
- .ErrorSet => return out_stream.writeAll(@errorName(value)),
.Union => {
if (comptime std.meta.trait.hasFn("jsonStringify")(T)) {
return value.jsonStringify(options, out_stream);
@@ -2493,6 +2492,7 @@ pub fn stringify(
try out_stream.writeByte('}');
return;
},
+ .ErrorSet => return stringify(@as([]const u8, @errorName(value)), options, out_stream),
.Pointer => |ptr_info| switch (ptr_info.size) {
.One => switch (@typeInfo(ptr_info.child)) {
.Array => {
@@ -2647,7 +2647,7 @@ test "stringify basic types" {
try teststringify("42", @as(u128, 42), StringifyOptions{});
try teststringify("4.2e+01", @as(f32, 42), StringifyOptions{});
try teststringify("4.2e+01", @as(f64, 42), StringifyOptions{});
- try teststringify("ItBroke", @as(anyerror, error.ItBroke), StringifyOptions{});
+ try teststringify("\"ItBroke\"", @as(anyerror, error.ItBroke), StringifyOptions{});
}
test "stringify string" {