From b034c45b2bcb3a28ad260037dfa34c40b6c9313b Mon Sep 17 00:00:00 2001 From: Veikka Tuominen Date: Thu, 24 Feb 2022 19:47:42 +0200 Subject: stage2: implement fieldParentPtr --- src/value.zig | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) (limited to 'src/value.zig') diff --git a/src/value.zig b/src/value.zig index 538c20587b..0b3ad15469 100644 --- a/src/value.zig +++ b/src/value.zig @@ -1852,7 +1852,13 @@ pub const Value = extern union { return eql(a_payload.ptr, b_payload.ptr, ptr_ty); }, .elem_ptr => @panic("TODO: Implement more pointer eql cases"), - .field_ptr => @panic("TODO: Implement more pointer eql cases"), + .field_ptr => { + const a_payload = a.castTag(.field_ptr).?.data; + const b_payload = b.castTag(.field_ptr).?.data; + if (a_payload.field_index != b_payload.field_index) return false; + + return eql(a_payload.container_ptr, b_payload.container_ptr, ty); + }, .eu_payload_ptr => @panic("TODO: Implement more pointer eql cases"), .opt_payload_ptr => @panic("TODO: Implement more pointer eql cases"), .array => { -- cgit v1.2.3