On Thursday, 12 February 2015 at 08:55:43 UTC, Jonathan M Davis wrote:
On Thursday, February 12, 2015 08:33:34 Kagamin via Digitalmars-d-learn wrote:
Truth be told, D has no guideline for deterministic destruction
of managed resources.

Really what it comes down to is that if you want deterministic destruction, you _don't_ use managed resources. You use malloc and free rather than new and the GC. Granted, that's way uglier than it should be right now, because the allocator stuff hasn't been finished yet, but it's really what's required if you want an object on the heap to have a deterministic lifetime.
Memory that's managed by a GC just doesn't work that way.

That's a repetition of C++ atavism, that resource management == memory management. IStream is a traditional example of a GC-managed object, which needs deterministic destruction, and not because it consumes memory, but because it encapsulates an unmanaged resource, it has nothing to do with memory management, malloc and free.

Reply via email to