Things that keep D from evolving?
rsw0x via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Sat Feb 6 03:33:05 PST 2016
On Saturday, 6 February 2016 at 11:15:06 UTC, Ola Fosheim Grøstad
wrote:
> On Saturday, 6 February 2016 at 11:09:28 UTC, NX wrote:
>> On Saturday, 6 February 2016 at 10:29:32 UTC, Ola Fosheim
>> Grøstad wrote:
>>>> What makes it impossible to have ref counted classes?
>>>
>>> Nothing.
>>
>> Then why do we need DIP74 ?
>
> I think they aim for compiler optimizations, like ARC on Swift.
> But ARC requires all ref counting to be done behind the scene,
> so I think it is a bad idea for D to be honest.
>
>> And why documentation says RefCounted doesn't work with
>> classes?
>
> I don't use Phobos much. I think RefCounted creates a wrapper
> for an embedded struct or something. Something like struct {
> int refcount; T payload; }
>
> Nothing prevents you from creating your own reference counting
> mechanism.
reference counting is incredibly slow, DIP74 attempts to
partially amend that in D as it can't be done any other way
besides compiler help.
IIRC, it essentially just allows RC inc/dec to be elided where
possible
More information about the Digitalmars-d-learn
mailing list