diff options
Diffstat (limited to 'src/value.zig')
| -rw-r--r-- | src/value.zig | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/src/value.zig b/src/value.zig index 121e380bd9..502de64348 100644 --- a/src/value.zig +++ b/src/value.zig @@ -1870,6 +1870,16 @@ pub const Value = extern union { return eql(a_payload.container_ptr, b_payload.container_ptr, ty); }, + .@"error" => { + const a_name = a.castTag(.@"error").?.data.name; + const b_name = b.castTag(.@"error").?.data.name; + return std.mem.eql(u8, a_name, b_name); + }, + .eu_payload => { + const a_payload = a.castTag(.eu_payload).?.data; + const b_payload = b.castTag(.eu_payload).?.data; + return eql(a_payload, b_payload, ty.errorUnionPayload()); + }, .eu_payload_ptr => @panic("TODO: Implement more pointer eql cases"), .opt_payload_ptr => @panic("TODO: Implement more pointer eql cases"), .array => { |
