Why the array have to be reallocated after the length of a slice is changed? It makes slices useless.
Here a little example (it fails): void testSlices() { int[] dArr = [10, 11, 12]; int[] dSlice = dArr[0..2]; dSlice.length++; assert(dArr[2]==dSlice[2]); // failure }