DIP74: Reference Counted Class Objects

via Digitalmars-d digitalmars-d at puremagic.com
Fri Feb 27 05:44:08 PST 2015


On Friday, 27 February 2015 at 07:44:18 UTC, anonymous wrote:
> On Friday, 27 February 2015 at 00:10:00 UTC, deadalnix wrote:
>> On Thursday, 26 February 2015 at 21:50:56 UTC, Andrei 
>> Alexandrescu wrote:
>>> http://wiki.dlang.org/DIP74 got to reviewable form. Please 
>>> destroy and discuss.
>>>
>>> Thanks,
>>>
>>> Andrei
>>
>> "The compiler detects automatically and treats specially all 
>> classes and interfaces that define the following two methods:"
>>
>> Well, RefCounted could use compile time reflexion to do so. 
>> Even better, we could define a lvalue property for RefCounted 
>> to use a counter so we can do intrusive counting in both 
>> classes and structs.
>>
>> "@safe code may not issue explicit calls to 
>> opAddRef/opRelease. "
>>
>> I guess we could simply make them @system .
>>
>> " RCOs objects are subject to additional limitations compared 
>> to their GC counterparts:
>>
>> No conversion to Object or interfaces that are not reference 
>> counted "
>>
>> No problem, I'm gonna duplicate all my code and as will every 
>> single library writer out there.
>>
>> Missing:
>>
>> All write of RCO reference to statics must be atomic and 
>> ordered as long as the language can't enforce thread locality 
>> (at least in @safe code).
>>
>> Generally:
>> This DIP works around (announced) limitations of DIP25. As 
>> escape can only be checked properly for type with no 
>> indirections, and only solve the problem for 
>> classes/interfaces. Other type with indirection remains an 
>> unsolved problem.
>>
>> If I were in charge, that would be a clear no, and the sign 
>> that DIP25 approach needs to be reworked, as wack-a-mole is 
>> not a good way to handle design.
>
> We all pray you become less of a gaping asshole before youre in
> charge of anything.

In fact, "we all" don't. Quite the opposite, several of the 
participants of these forums (me included) happen to agree with 
him on many things, not just this particular topic. That's 
because he brings forward good arguments for his opinions, which 
is evidently something you aren't capable of.


More information about the Digitalmars-d mailing list