void ProxyArray::proxyAppend(void* data, uint32_t data_size, void** dest) { ArrayData * r; if (hasZvalValues()) { assert(data_size == sizeof(void*)); int64_t k = 0; r = innerArr(this)->zAppend(*(RefData**)data, &k); if (dest) { *dest = (void*)(&r->nvGet(k)->m_data.pref); } } else { auto v = Variant(makeElementResource(data, data_size, dest)); r = innerArr(this)->append(*v.asTypedValue(), false); } reseatable(this, r); }