blob: 1fe8aff14a9cce47b8fbf1fe24e26d33622830b8 [file] [log] [blame]
struct Array(T)
{
private struct Payload
{
size_t _capacity;
T[] _payload;
~this()
{
}
this(this)
{
}
}
private alias RefCounted!(Payload) Data;
private Data _data;
bool opEquals(ref const Array rhs) const
{
return true;
}
}
struct BinaryHeap(Store)
{
private static struct Data
{
Store _store;
size_t _length;
}
private RefCounted!(Data) _payload;
}
struct RefCounted(T)
{
struct RefCountedStore
{
private struct Impl
{
T _payload;
size_t _count;
}
private Impl* _store;
}
RefCountedStore _refCounted;
this(this)
{
}
~this()
{
.destroy(_refCounted._store._payload);
}
void opAssign(typeof(this) rhs)
{
}
void opAssign(T rhs)
{
typeid(T).destroy(&rhs);
}
}