Escaping the Tyranny of the GC: std.rcstring, first blood

Manu via Digitalmars-d digitalmars-d at puremagic.com
Mon Sep 22 23:47:39 PDT 2014


On 23 September 2014 16:19, deadalnix via Digitalmars-d <
digitalmars-d at puremagic.com> wrote:

> On Tuesday, 23 September 2014 at 03:03:49 UTC, Manu via Digitalmars-d
> wrote:
>
>> I still think most of those users would accept RC instead of GC. Why not
>> support RC in the language, and make all of this library noise redundant?
>> Library RC can't really optimise well, RC requires language support to
>> elide ref fiddling.
>>
>
> I think a library solution + intrinsic for increment/decrement (so they
> can be better optimized) would be the best option.
>

Right, that's pretty much how I imagined it too. Like ranges, where foreach
makes implicit calls to contractual methods, there would also be a contract
for refcounted objects, and the compiler will emit implicit calls to
inc/dec if they exist?
That should eliminate 'RefCounted', you would only need to provide
opInc()/opDec() and rc fiddling calls would be generated automatically?
Then we can preserve the type of things, rather than obscuring them in
layers of wrapper templates...
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d/attachments/20140923/5db12da0/attachment.html>


More information about the Digitalmars-d mailing list