The copy change causes a compile-time error since the two arguments have a different type (*const T v.s. *mut T), so it’s impossible to miss, which is good.
I’m more worried about splitn. I think we should try harder than this not to make breaking changes that break silently. This should have been accompanied with a change to the name or signature, which is perhaps still worth doing.f