authorgravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2023-01-09 17:44:41+02:00
committergravatar for git@vexu.euVeikka Tuominen <git@vexu.eu> 2023-01-11 19:08:49+02:00
logad259736e2200e93400e4f09916551ae65ca56ad
treec76ad44be3c8e4c405179138197935f89c71935d
parent83673a8b5f508376c81deaa4b01815474873eb69

Value: implement more pointer eql cases

Closes #14234

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

src/value.zig+10-2
...@@ -2193,8 +2193,16 @@ pub const Value = extern union {...@@ -2193,8 +2193,16 @@ pub const Value = extern union {
2193 const payload_ty = ty.errorUnionPayload();2193 const payload_ty = ty.errorUnionPayload();
2194 return eqlAdvanced(a_payload, payload_ty, b_payload, payload_ty, mod, opt_sema);2194 return eqlAdvanced(a_payload, payload_ty, b_payload, payload_ty, mod, opt_sema);
2195 },2195 },
2196 .eu_payload_ptr => @panic("TODO: Implement more pointer eql cases"),2196 .eu_payload_ptr => {
2197 .opt_payload_ptr => @panic("TODO: Implement more pointer eql cases"),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 },
2198 .function => {2206 .function => {
2199 const a_payload = a.castTag(.function).?.data;2207 const a_payload = a.castTag(.function).?.data;
2200 const b_payload = b.castTag(.function).?.data;2208 const b_payload = b.castTag(.function).?.data;