A betterC base

Seb seb at wilzba.ch
Fri Feb 9 08:05:28 UTC 2018


On Friday, 9 February 2018 at 01:36:02 UTC, Mike Franklin wrote:
> On Friday, 9 February 2018 at 01:31:41 UTC, Mike Franklin wrote:
>> On Thursday, 8 February 2018 at 17:10:00 UTC, bachmeier wrote:
>>
>>> What are D's limitations on do-it-yourself reference counting?
>>
>>  * Types that are built into the language like dynamic arrays, 
>> associative arrays, and exceptions won't benefit from DIY 
>> reference counting.
>>  * Much of Phobos probably wouldn't be compatible with DIY 
>> reference counting.
>>
>> That being said, there may be a way to override some runtime 
>> hooks like _d_newclass 
>> (https://dlang.org/library/rt/lifetime/_d_newclass.html), 
>> etc... to make it work.  But I haven't tried.
>>
>> Also, I think Walter is currently working on getting reference 
>> counted exceptions into the language:  
>> https://github.com/dlang/druntime/pull/1995
>>
>> Mike
>
> Also, I think DIY reference counting is already done for us in 
> the automem library 
> https://dlang.org/blog/2017/04/28/automem-hands-free-raii-for-d/
>
> Mike

We use std.typecons.RefCounted in many places in Phobos too.
There is only one big problem at the moment: it's not @safe and 
can only be @safe with DIP1000.
This is actually blocking a lot of work - think RCString, 
containers or even just a simple range which needs heap memory as 
state.


More information about the Digitalmars-d mailing list