solidity/test/libsolidity/semanticTests/intheritance/inherited_function_calldata_calldata_interface.sol

28 lines
477 B
Solidity
Raw Normal View History

interface I {
function f(uint256[] calldata a) external returns (uint256);
}
contract A is I {
function f(uint256[] calldata a) external override returns (uint256) {
return 42;
}
}
contract B {
function f(uint256[] memory a) public returns (uint256) {
return a[1];
}
function g() public returns (uint256) {
I i = I(new A());
return i.f(new uint256[](2));
}
}
// ====
// compileViaYul: also
// ----
// g() -> 42