RFC: moving forward with @nogc Phobos

deadalnix via Digitalmars-d digitalmars-d at puremagic.com
Tue Sep 30 18:41:56 PDT 2014


On Wednesday, 1 October 2014 at 01:26:45 UTC, Manu via
Digitalmars-d wrote:
> On 30 September 2014 08:04, Andrei Alexandrescu via 
> Digitalmars-d
> <digitalmars-d at puremagic.com> wrote:
>> On 9/29/14, 10:16 AM, Paulo Pinto wrote:
>>>
>>> Personally, I would go just for (b) with compiler support for
>>> increment/decrement removal, as I think it will be too 
>>> complex having to
>>> support everything and this will complicate all libraries.
>>
>>
>> Compiler already knows (after inlining) that ++i and --i 
>> cancel each other,
>> so we should be in good shape there. -- Andrei
>
> The compiler doesn't know that MyLibrary_AddRef(Thing *t); and
> MyLibrary_DecRef(Thing *t); cancel eachother out though...
> rc needs primitives that the compiler understands implicitly, 
> so that
> rc logic can be more complex than ++i/--i;

Even with simply i++ and i--, the information that they always go
by pair is lost on the compiler in many cases.


More information about the Digitalmars-d mailing list