I definitely didn't consider negative input logical
Always await the unexpected

else we wouldn't have this thread

as it serves no purpose whatsoever.
Just because I say my opinion, it is a bug, does not mean that I am not on your side, I fully agree to you that it is ill to call it that way.
About where that bug might be, I am clueless since I am not the inventor of that routine.
Whatever he/she might have thought it should do, it should be in balance with it's documentation.
So one of them is wrong, my personal opinion, it is the method since negative index for a string can never be good.