Observe:

void main() {
     int[3] a1 = [1, 3, 6];
     int[]  a2 = a1[] * 3;       // line 3, Error
     int[]  a3 = a1.dup[] *= 3;  // line 4, OK?
     int[]  a4 = (a1[] * 3).dup; // line 5, Error
}


Currently the operation in line 4 is accepted:

test.d(3,17): Error: array operation a1[] * 3 without destination memory not allowed test.d(5,18): Error: array operation a1[] * 3 without destination memory not allowed

Is it a good idea to support something like line 5?

Bye,
bearophile

Reply via email to