The thing is, the only reason we might want the dst, src ordering is to be consistent with C, however we’re already not consistent with C in A LOT of places, because it was determined that it is not worth preserving the legacy of C in a new language that tries to fix C’s problems and I think that this is just another case trying to do that.
From my point of view, it is pretty clear, when thinking about copying something, the normal way of doing this is thinking about WHAT you want to copy first, because you first need something to copy and only then thinking about WHERE to copy it.
C does this the other way around, but C does a lot of strange stuff.
Another thing raised here, that I agree with, is that the thing has already been done and you’re probably going to cause more damage by reverting the change than leaving it as is, possibly even to the early reputation of Rust as a reliable platform, if we now break something we already promised we won’t.
There is going to be a lot of tempation to fix APIs with flaws that are going to be exposed by being put under usage no one here tried yet, but we must ressist the temptation or run the risk of hammering adoption.