diff options
| author | Veikka Tuominen <git@vexu.eu> | 2020-09-14 16:43:49 +0300 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-09-14 16:43:49 +0300 |
| commit | d073836894df8b9fb56f24f577a51dd09a85a932 (patch) | |
| tree | 920723ea7cbe577934f0fb9670332f40dc7fd94a /lib/std/json.zig | |
| parent | c49435f76b07cbf3fdd6a10303a1a0ee4290e59a (diff) | |
| parent | acdf1f0bde9a07cae2fbe33739f5f4aee7989f7b (diff) | |
| download | zig-d073836894df8b9fb56f24f577a51dd09a85a932.tar.gz zig-d073836894df8b9fb56f24f577a51dd09a85a932.zip | |
Merge pull request #6172 from tadeokondrak/@Type(.Union)
Implement @Type for Union
Diffstat (limited to 'lib/std/json.zig')
| -rw-r--r-- | lib/std/json.zig | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/lib/std/json.zig b/lib/std/json.zig index 2f8a70d0ef..cf479ab2cd 100644 --- a/lib/std/json.zig +++ b/lib/std/json.zig @@ -1613,7 +1613,7 @@ pub fn parseFree(comptime T: type, value: T, options: ParseOptions) void { .Union => |unionInfo| { if (unionInfo.tag_type) |UnionTagType| { inline for (unionInfo.fields) |u_field| { - if (@enumToInt(@as(UnionTagType, value)) == u_field.enum_field.?.value) { + if (value == @field(UnionTagType, u_field.name)) { parseFree(u_field.field_type, @field(value, u_field.name), options); break; } @@ -2458,7 +2458,7 @@ pub fn stringify( const info = @typeInfo(T).Union; if (info.tag_type) |UnionTagType| { inline for (info.fields) |u_field| { - if (@enumToInt(@as(UnionTagType, value)) == u_field.enum_field.?.value) { + if (value == @field(UnionTagType, u_field.name)) { return try stringify(@field(value, u_field.name), options, out_stream); } } |
