FunctionDefinition.resolveVirtual(): Skip unimplemented functions when lookup happens via super

This commit is contained in:
Kamil Śliwak
2021-06-02 16:16:15 +02:00
parent 67e87147b4
commit d96cc3469a
11 changed files with 140 additions and 4 deletions
@@ -0,0 +1,18 @@
abstract contract I {
function a() internal view virtual returns(uint256);
}
abstract contract C is I {
function f() public view returns(uint256) {
return I.a();
}
}
abstract contract D is I {
function f() public view returns(uint256) {
return super.a();
}
}
// ----
// TypeError 7501: (172-177): Cannot call unimplemented base function.
// TypeError 9582: (278-285): Member "a" not found or not visible after argument-dependent lookup in type(contract super D).