From ad259736e2200e93400e4f09916551ae65ca56ad Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Mon, 9 Jan 2023 17:44:41 +0200 Subject: [PATCH] Value: implement more pointer eql cases Closes #14234 --- src/value.zig | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/value.zig b/src/value.zig index 45b2bfd341..5d38bcb7a9 100644 --- a/src/value.zig +++ b/src/value.zig @@ -2193,8 +2193,16 @@ pub const Value = extern union { const payload_ty = ty.errorUnionPayload(); return eqlAdvanced(a_payload, payload_ty, b_payload, payload_ty, mod, opt_sema); }, - .eu_payload_ptr => @panic("TODO: Implement more pointer eql cases"), - .opt_payload_ptr => @panic("TODO: Implement more pointer eql cases"), + .eu_payload_ptr => { + const a_payload = a.castTag(.eu_payload_ptr).?.data; + const b_payload = b.castTag(.eu_payload_ptr).?.data; + return eqlAdvanced(a_payload.container_ptr, ty, b_payload.container_ptr, ty, mod, opt_sema); + }, + .opt_payload_ptr => { + const a_payload = a.castTag(.opt_payload_ptr).?.data; + const b_payload = b.castTag(.opt_payload_ptr).?.data; + return eqlAdvanced(a_payload.container_ptr, ty, b_payload.container_ptr, ty, mod, opt_sema); + }, .function => { const a_payload = a.castTag(.function).?.data; const b_payload = b.castTag(.function).?.data;