solidity/test/libsolidity/syntaxTests/inheritance/override/nonintermediate_common_base_and_unique_implementation_modifier.sol
2019-12-09 18:43:59 +01:00

20 lines
386 B
Solidity

contract I {
modifier f() virtual { _; }
}
contract J {
modifier f() virtual { _; }
}
contract IJ is I, J {
modifier f() virtual override (I, J) { _; }
}
contract A is IJ
{
modifier f() override { _; }
}
contract B is IJ
{
}
contract C is A, B {}
// ----
// TypeError: (229-250): Derived contract must override modifier "f". Two or more base classes define modifier with same name.