Ruling out arbitrary cost copy construction?
Michel Fortin
michel.fortin at michelf.com
Sat Oct 30 19:40:00 PDT 2010
On 2010-10-30 20:49:38 -0400, Andrei Alexandrescu
<SeeWebsiteForEmail at erdani.org> said:
> On 10/30/10 2:24 CDT, Don wrote:
>> At the moment, I think it's impossible.
>> Has anyone succesfully implemented refcounting in D? As long as bug 3516
>> (Destructor not called on temporaries) remains open, it doesn't seem to
>> be possible.
>> Is that the only blocker, or are there others?
>
> I managed to define and use RefCounted in Phobos. File also uses
> hand-made reference counting. I think RefCounted is a pretty good
> abstraction (unless it hits the bug you mentioned.)
I like the idea of RefCounted as a way to automatically make things
reference counted.
But like File and many similar ref-counted structs, it has this race
condition (bug 4624) when stored inside the GC heap. Currently, most of
Phobos's ref-counted structs are race-free only when they reside on the
stack or if your program has only one thread (because the GC doesn't
spawn threads if I'm correct).
It's a little sad that the language doesn't prevent races in
destructors (bug 4621).
--
Michel Fortin
michel.fortin at michelf.com
http://michelf.com/
More information about the Digitalmars-d
mailing list