https://issues.dlang.org/show_bug.cgi?id=12799
--- Comment #1 from Sobirari Muhomori <[email protected]> --- I first wanted to implement a variable-sized struct this way. struct Region { enum fullSize=128, head=Region.sizeof/size_t.sizeof; enum capacity=fullSize-head; Region* prev; int count; void*[] allocations() { return all[0..count]; } void put(void* data) { assert(count<capacity); all[count]=data; count++; } void*[] all(void* data) { void* b=cast(void**)&this+head; return b[0..capacity]; } } Well, it's not really variable-sized, so I just declared a fixed-sized array in it. --
