On Wednesday, 8 April 2015 at 02:40:14 UTC, Timothee Cour wrote:
Eg, code like this in std.algorithm: assert(equal(setSymmetricDifference(a, b), [0, 5, 8, 9][])); why not just: assert(equal(setSymmetricDifference(a, b), [0, 5, 8, 9])); ?
It's historic. DMD 2.041 changed the type of array literals from int[N] (i.e. fixed-length literals of static arrays) to int[] (dynamic arrays). Since [] means to take a slice of the entire static array, it would tell the compiler to create a static array, but only pass a slice of it to equal() instead of passing the entire static array by-value.