Skip to content

Commit 99bfb4d

Browse files
Vexumatu3ba
authored andcommitted
Value: implement more pointer eql cases
Closes ziglang#14234
1 parent b82c332 commit 99bfb4d

File tree

1 file changed

+10
-2
lines changed

1 file changed

+10
-2
lines changed

src/value.zig

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2193,8 +2193,16 @@ pub const Value = extern union {
21932193
const payload_ty = ty.errorUnionPayload();
21942194
return eqlAdvanced(a_payload, payload_ty, b_payload, payload_ty, mod, opt_sema);
21952195
},
2196-
.eu_payload_ptr => @panic("TODO: Implement more pointer eql cases"),
2197-
.opt_payload_ptr => @panic("TODO: Implement more pointer eql cases"),
2196+
.eu_payload_ptr => {
2197+
const a_payload = a.castTag(.eu_payload_ptr).?.data;
2198+
const b_payload = b.castTag(.eu_payload_ptr).?.data;
2199+
return eqlAdvanced(a_payload.container_ptr, ty, b_payload.container_ptr, ty, mod, opt_sema);
2200+
},
2201+
.opt_payload_ptr => {
2202+
const a_payload = a.castTag(.opt_payload_ptr).?.data;
2203+
const b_payload = b.castTag(.opt_payload_ptr).?.data;
2204+
return eqlAdvanced(a_payload.container_ptr, ty, b_payload.container_ptr, ty, mod, opt_sema);
2205+
},
21982206
.function => {
21992207
const a_payload = a.castTag(.function).?.data;
22002208
const b_payload = b.castTag(.function).?.data;

0 commit comments

Comments
 (0)