Treat invalid external function type as a fatal error to prevent the type from being used

- `returnParameterTypesWithoutDynamicTypes()` assumes it won't encounter such types.
This commit is contained in:
Kamil Śliwak
2021-06-02 21:44:39 +02:00
parent 4cbf9ff74c
commit 4a19c7e495
4 changed files with 19 additions and 1 deletions
@@ -0,0 +1,8 @@
contract C {
function f() public {
function() external returns (function() internal) getCallback;
getCallback();
}
}
// ----
// TypeError 2582: (76-96): Internal type cannot be used for external function type.
@@ -0,0 +1,9 @@
contract C {
function f(
function() external returns (function() internal) getCallback
) public {
getCallback();
}
}
// ----
// TypeError 2582: (66-86): Internal type cannot be used for external function type.