since there is no situation in which that ever makes sense
Actually, there is:
mkdir foo bar
ln -s ../foo bar/foo
mv bar bar/foo
...so mv(1) leaves it up to the kernel to detect the error condition, as it should.