mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
32 lines
840 B
Solidity
32 lines
840 B
Solidity
contract C {
|
|
function m(
|
|
function() external returns (uint) a,
|
|
function() external returns (uint) b
|
|
) internal returns (function() external returns (uint)) {
|
|
return a;
|
|
}
|
|
|
|
function s(uint a, uint b) internal returns (uint) {
|
|
return a + b;
|
|
}
|
|
|
|
function foo() external returns (uint) {
|
|
return 6;
|
|
}
|
|
|
|
function test() public returns (uint) {
|
|
function(uint, uint) internal returns (uint) single_slot_function = s;
|
|
|
|
function(
|
|
function() external returns (uint),
|
|
function() external returns (uint)
|
|
) internal returns (function() external returns (uint)) multi_slot_function = m;
|
|
|
|
return multi_slot_function(this.foo, this.foo)() + single_slot_function(5, 1);
|
|
}
|
|
}
|
|
// ====
|
|
// compileViaYul: also
|
|
// ----
|
|
// test() -> 12
|