2019-09-16 12:33:43 +00:00
|
|
|
contract A {
|
|
|
|
function foo() internal returns (uint256);
|
|
|
|
}
|
|
|
|
|
|
|
|
contract B is A {
|
|
|
|
function foo() internal override returns (uint256);
|
|
|
|
}
|
|
|
|
|
|
|
|
contract C is B {
|
|
|
|
function foo() internal override returns (uint256);
|
|
|
|
}
|
|
|
|
|
|
|
|
contract D is C {
|
|
|
|
function foo() internal override returns (uint256);
|
|
|
|
}
|
|
|
|
|
|
|
|
contract X is D {
|
|
|
|
function foo() internal override returns (uint256);
|
|
|
|
}
|
|
|
|
// ----
|
2019-10-23 20:10:12 +00:00
|
|
|
// TypeError: (0-58): Contract "A" should be marked as abstract.
|
|
|
|
// TypeError: (60-132): Contract "B" should be marked as abstract.
|
|
|
|
// TypeError: (134-206): Contract "C" should be marked as abstract.
|
|
|
|
// TypeError: (208-280): Contract "D" should be marked as abstract.
|
|
|
|
// TypeError: (282-354): Contract "X" should be marked as abstract.
|