solidity/test/libsolidity/semanticTests/functionCall/call_function_returning_function.sol

29 lines
751 B
Solidity
Raw Normal View History

contract test {
function f0() public returns (uint) {
return 2;
}
function f1() internal returns (function() internal returns (uint)) {
return f0;
}
function f2() internal returns (function() internal returns (function () internal returns (uint))) {
return f1;
}
function f3() internal returns (function() internal returns (function () internal returns (function () internal returns (uint)))) {
return f2;
}
function f() public returns (uint) {
function() internal returns(function() internal returns(function() internal returns(function() internal returns(uint)))) x;
x = f3;
return x()()()();
}
}
// ====
// compileViaYul: also
// ----
// f() -> 2