2019-08-13 11:00:46 +00:00
|
|
|
contract A {
|
2019-09-16 12:33:43 +00:00
|
|
|
int public testvar;
|
2019-08-13 11:00:46 +00:00
|
|
|
function foo() internal returns (uint256);
|
2019-09-16 12:33:43 +00:00
|
|
|
function test(uint8 _a) internal returns (uint256);
|
2019-08-13 11:00:46 +00:00
|
|
|
}
|
2019-09-16 12:33:43 +00:00
|
|
|
contract B {
|
|
|
|
function foo() internal returns (uint256);
|
|
|
|
function test() internal returns (uint256);
|
|
|
|
}
|
|
|
|
contract C {
|
|
|
|
function foo() internal returns (uint256);
|
|
|
|
}
|
|
|
|
contract D {
|
|
|
|
function foo() internal returns (uint256);
|
|
|
|
}
|
|
|
|
contract X is A, B, C, D {
|
2019-08-13 11:00:46 +00:00
|
|
|
int public override testvar;
|
|
|
|
function test() internal override returns (uint256);
|
2019-09-16 12:33:43 +00:00
|
|
|
function foo() internal override(A, B, C, D) returns (uint256);
|
2019-08-13 11:00:46 +00:00
|
|
|
}
|
|
|
|
// ----
|
2019-10-23 20:10:12 +00:00
|
|
|
// TypeError: (0-132): Contract "A" should be marked as abstract.
|
|
|
|
// TypeError: (133-236): Contract "B" should be marked as abstract.
|
|
|
|
// TypeError: (237-295): Contract "C" should be marked as abstract.
|
|
|
|
// TypeError: (296-354): Contract "D" should be marked as abstract.
|
|
|
|
// TypeError: (355-532): Contract "X" should be marked as abstract.
|