Source code is OwningMemRef &operator=(const OwningMemRef &&other) { freeFunc = other.freeFunc; descriptor = other.descriptor; other.freeFunc = nullptr; memset(&other.descriptor, 0, sizeof(other.descriptor)); }