// Build the C vtable by calling the C helper function.
// This ensures function pointers are correctly populated in C, fixing ARM64 macOS issues.
vtable := C.{{ vtable_constructor }}()
if vtable == nil {
return fmt.Errorf("failed to allocate %s vtable", impl.Name())
}
defer C.free(unsafe.Pointer(vtable))