The ERC721 standard says the following:
The onERC721Received function specifically works around old deployed contracts which may inadvertently return 1 (true) in certain circumstances even if they don't implement a function (see Solidity DelegateCallReturnValue bug). By returning and checking for a magic value, we are able to distinguish actual affirmative responses versus these vacuous trues.
This rationale says that there are certain circumstances where old contracts will inadvertently return 1 (true) even when they don't implement a function that is called.
The rationale gives the DelegateCallReturnValue bug as one of these circumstances. I would really like to know, what are the other circumstances?
In what circumstances will an old contract inadvertently return a wrong bool value when a method is called on it that does not exist?