How to destruct class instances allocated by a Region-allocator over a single GC block

Per Nordlöw per.nordlow at gmail.com
Mon Apr 2 21:16:20 UTC 2018


On Monday, 2 April 2018 at 20:43:01 UTC, Alexandru Jercaianu 
wrote:
> I am not completely sure how to solve this, but maybe we can 
> find some clues here [1].
> It seems like we should use addRoot on the buffer returned by 
> GC.instance.allocate to keep it alive.
> Then, we can use addRange on each node after allocation and 
> somehow use 'TypeInfo' to trigger destructors.
> I'll dig into this more tomorrow and come back with a better 
> answer.

How can there not be a documented answer for this question, given 
that std.experimental.allocator has been in Phobos for 2 years?

Has std.experimental.allocator only been used for allocating 
`struct`s?

Is the Region allocator especially misfit for constructing 
classes?

Thanks, anyway.


More information about the Digitalmars-d-learn mailing list