Denis Koroskin wrote: > On Tue, 20 Oct 2009 03:00:57 +0400, Rainer Deyke <rain...@eldwood.com> > wrote: >> Andrei Alexandrescu wrote: >>> One surprising (but safe) behavior that remains with slices is this: >>> >>> void fun(int[] a) { >>> a[0] = 0; >>> a ~= 42; >>> a[0] = 42; >>> } >>> >>> The caller may or may not see 42 in the first slot after the call. >> >> Your definition of "safe" is clearly not aligned with mine. > > Safe as in SafeD (i.e. no memory corruption) :)
If the caller wasn't expecting the array to be modified, then that's a textbook case of memory corruption. If the caller /was/ expecting the array to be modified, then it's the opposite, which isn't much better. -- Rainer Deyke - rain...@eldwood.com