What it means is that a subsequent implementation can omit the upgradeTo
function, and this renders the UUPS proxy not upgradeable anymore.
This situation is not easily allowed by our UUPSUpgradeable
contract as it will verify that upgradeability is preserved. But you can achieve it by first upgrading to a contract that contains a custom upgradeTo
function (can be ERC1967Upgrade._upgradeTo
), and then upgrading again to a contract that no longer has the upgradeTo
function.