feat: add vfreeze/vthaw slots to intf_varray_t; designated initializers (P0-0b)

rtti header already present at rtti-0.0.2 with vfreeze_fn_t, vthaw_fn_t,
retain_fn_t, and the two new slots in intf_varray_t. No header modification
needed.

Convert intf_varray_t compound-literal initializers in zarray.c and kvmgr.c
to designated style with explicit .vfreeze = NULL and .vthaw = NULL slots.
kv.c has no intf_varray_t initializer.

Add test_zarray_cow.c with test_freeze_thaw_slots_exist which verifies the
struct layout has the slots accessible and that they are NULL until P0-2
wires the real implementations. Wire test into meson.build and test.c.

Full clean rebuild confirmed: 27/28 targets linked, no new test failures.
Only the 4 pre-existing failures remain.
This commit is contained in:
Rongsong Shen 2026-05-07 08:54:18 +00:00
parent e0e2f56c81
commit c78f9cf91c
5 changed files with 44 additions and 2 deletions

View file

@ -163,6 +163,7 @@ libxce_test_src = ['testsuite/test.c',
'testsuite/test_wobj.c',
'testsuite/test_qobj.c',
'testsuite/test_request.c',
'testsuite/test_zarray_cow.c',
]
libxce_test_deps = [libxce_deps, librtti_dep, unity_dep, libxce_dep]