Timon Gehr wrote:
> void removeAt(T)(ref T[] arr, size_t index)
> {
>    foreach (i, ref item; retro(arr[1 .. index+1]))
>         item = arr[i - 1];
>     arr = arr[1 .. $];
> }

Sorry, still wrong:

void removeAt(T)(ref T[] arr, size_t index)
{
   foreach (i, ref item; retro(arr[1 .. index+1]))
         item = arr[index - i - 1];
   arr = arr[1 .. $];
}

Reply via email to