> auto a = [1,2,3,4,5]; > auto b = a[0..3]; > assumeSafeAppend(b); > b ~= 0; > writeln(a); > > prints [1, 2, 3, 0, 5], so b is not reallocated in this case. Just to clarify: this is not guaranteed to print [1, 2, 3, 0, 5], it only does if there is still enough memory in a block allocated to b and it doesn't have to be reallocated.