Question about @nogc in D 2.066
Dicebot via Digitalmars-d-learn
digitalmars-d-learn at puremagic.com
Fri Jul 11 16:25:37 PDT 2014
On Friday, 11 July 2014 at 21:02:30 UTC, Timon Gehr wrote:
> He is allocating an immutable(int)[] here. There is no reason
> why it should allocate unless providing different addresses for
> different runs of the code is considered a feature, as the
> literal has a compile-time known value. It's just that the
> frontend does not actually elide the allocation, and this would
> be a valid extension to ask for.
>
> In any case, the allocation can be manually elided as follows:
>
> void main(string[] args)@nogc{
> auto s1 = "hello";
> static immutable _a1 = [1, 2];
> auto a1 = _a1;
> }
>
> (Not actually tested, because I am having trouble downloading
> the beta for some reason.)
Sure, no objections here - it just happened that doing so for
string literals was more obvious because literals themselves are
immutable. And doing so for arrays requires tiny bit of
semantical analysis (probably not really difficult too, I don't
know)
More information about the Digitalmars-d-learn
mailing list