Hello,
I was replacing some nasty slice code with std.array calls when I encountered the following situation:

void main()
{   import std.array, std.stdio;
int[2][] arr = [[0, 0], [1, 0], [2, 0], [3, 0], [4, 0], [5, 0], [6, 0]];
    size_t from = 4;  // from is inclusive
    size_t to = 6;    // to is exclusive
int[2][] stuff = [[0, 0], [1, 0]]; // data in arr & stuff is irrelevant replaceInPlace(arr,from,to,stuff); // object.Error: overlapping array copy
    writeln(arr);     // http://dpaste.dzfl.pl/40de0689e747
}
When 'from' and 'to' differ by one, there's no error, when two or greater, error.
I believe it is a bug, but want confirmation.

When I took a peek at std.array code on github I found:

https://github.com/D-Programming-Language/phobos/blob/master/std/array.d#L1921
and:
https://github.com/D-Programming-Language/phobos/blob/master/std/array.d#L2076

I was wondering what was the status on this transition.
The code has been commented out in there for over 3 years.

Thanks!

P.S. I'd normally post this to D.learn, but I thought the question about the commented out code warranted a bump to D main newsgroup.

Reply via email to