2019-12-09 16:51:53 +00:00
|
|
|
contract A {
|
2020-07-20 12:45:49 +00:00
|
|
|
function foo() external virtual view returns(uint) { return 5; }
|
2019-12-09 16:51:53 +00:00
|
|
|
}
|
|
|
|
contract B is A {
|
|
|
|
uint public override foo;
|
|
|
|
}
|
|
|
|
contract C is A {
|
2020-07-20 12:45:49 +00:00
|
|
|
function foo() external virtual override view returns(uint) { return 5; }
|
2019-12-09 16:51:53 +00:00
|
|
|
}
|
|
|
|
contract X is B, C {
|
|
|
|
uint public override(A, C) foo;
|
|
|
|
}
|
|
|
|
// ----
|
2020-06-19 00:26:46 +00:00
|
|
|
// DeclarationError 9097: (245-275): Identifier already declared.
|
|
|
|
// TypeError 1452: (100-124): Cannot override public state variable.
|
|
|
|
// TypeError 4327: (257-271): Public state variable needs to specify overridden contract "B".
|
|
|
|
// TypeError 2353: (257-271): Invalid contract specified in override list: "A".
|