Returning fixed size arrays

bearophile via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Wed Jun 25 13:59:28 PDT 2014


> Is it possible and a good idea to change the D ABI to make code 
> like this avoid an array copy in 100% of the cases (without 
> inlining)?

I meant, letting the compiler rewrite that code like this:


void foo(ref ubyte[1000] __data) nothrow @safe {
     __data[] = 0;
     // some code here.
}
void main() nothrow {
     ubyte[1000] __data = void;
     foo(__data);
     immutable data = cast(immutable ubyte[1000])__data;
}


Bye,
bearophile


More information about the Digitalmars-d-learn mailing list