Update tests for interface inheritance

This commit is contained in:
Jason Cobb
2020-01-22 09:40:40 -05:00
parent 573a054d5d
commit 595f569e97
14 changed files with 196 additions and 2 deletions
@@ -0,0 +1,17 @@
interface ParentA {
function testA() external returns (uint256);
}
interface ParentB {
function testB() external returns (uint256);
}
interface Sub is ParentA, ParentB {
function testSub() external returns (uint256);
}
contract SubImpl is Sub {
function testA() external override returns (uint256) { return 12; }
function testB() external override(ParentB) returns (uint256) { return 42; }
function testSub() external override returns (uint256) { return 99; }
}
@@ -0,0 +1,19 @@
interface ParentA {
function testA() external returns (uint256);
}
interface ParentB {
function testB() external returns (uint256);
}
interface Sub is ParentA, ParentB {
function testSub() external returns (uint256);
}
contract SubImpl is Sub {
function testA() external override returns (uint256) { return 12; }
function testSub() external override returns (uint256) { return 99; }
}
// ----
// TypeError: (234-407): Contract "SubImpl" should be marked as abstract.