contract Parent { function theMeaningOfLife() public pure virtual returns (uint256) { return 42; } } contract Child is Parent { // INVALID: has different arguments function theMeaningOfLife(uint256 x) public pure override returns (uint256) { return 42 + x; } // INVALID: has different return type function theMeaningOfLife(uint256 x) public pure override returns (bool) { return true; } // INVALID: has different name function theMeaningOfLif3(uint256 x) public pure override returns (uint256) { return 42; } }