It’s openzeppelin’s convention to include “uint256[50] private __gap” at the end of a contract.
However, what’s the implication if upgradeable storage gap is placed in slot 0 then followed by a declared variable. For instance:
contract XYZ {uint256[9] private __gap;bool public pause;}
What exactly is the implication of this in simplest terms? What happens when such a contract is upgraded?
And is the above safe?
Thanks.