https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95174

--- Comment #3 from Iain Buclaw <ibuclaw at gdcproject dot org> ---
(In reply to Witold Baryluk from comment #2)
> Doh. Of course. My bad. Sorry.
> 
> 
> static arrays are value type, dynamic arrays are reference type.
> 


Dynamic arrays are still value types, the value passed around is a pointer and
length. For example:

void f(immutable(float[64]) x, float[] o) {
   o[] = x[] * 2.0f;
}

float[64] x = 1.0f;
float[] o;
f(x, o);
// o does not change here.
assert(o.length == 0);
assert(o.ptr is null);

Reply via email to