On Thursday, 23 May 2013 at 20:51:42 UTC, Brad Anderson wrote:
On Thursday, 23 May 2013 at 20:02:06 UTC, QAston wrote:
I think that Phobos should have some support for manual memory
management. I don't mean clearing out the gc usage there, as
it's fairly obvious. I rather think about something like
unique_ptr/shared_ptr in the std. I think unique_ptr can't be
implemented without rval refs, also C++ sollutions may not fit
here. Anyways, now it's not so straightforward how to live
without gc so standard sollution would be really helpful.
There is std.typecons.Unique and std.typecons.RefCounted.
Unique is more cumbersome than unique_ptr but it should work
though I've never tried to use it. Proper rvalue references
would be a nice improvement here.
RefCounted doesn't support classes yet simply because nobody
has taken the time to add support for them.
It'd be nice to just be able to say shared_ptr = RefCounted,
unique_ptr = Unique when somebody asks about smart pointers in
D though.
std.typecons.scoped is also useful but a bit buggy/cumbersome.
jA_cOp (IRC handle) is working on improving it. Manu tried his
hand at implementing his own version for fun (which came up
because we were engaged in yet another GC argument with someone
coming from C++).
Thank you very much for the reply - I didn't realize those were
already there.