Marc Schütz:
It's equivalent to:int[] tmp = a1[] * 3; int[] a4 = tmp.dup;The first part is of course identical to line 3, so this should be an error, too. Normal rules for evaluation order require `a1[] * 3` to be evaluated before `(...).dup`, so where is it supposed to store the intermediate result?
So do we need a new different syntax to do it? :-) Bye, bearophile