solidity/test/libsolidity/semanticTests/structs/calldata/calldata_structs.sol
2020-07-20 15:40:58 +02:00

30 lines
544 B
Solidity

pragma experimental ABIEncoderV2;
contract C {
struct S1 {
uint256 a;
uint256 b;
}
struct S2 {
uint256 a;
}
function f(S1 calldata s1, S2 calldata s2, S1 calldata s3)
external
pure
returns (uint256 a, uint256 b, uint256 c, uint256 d, uint256 e)
{
a = s1.a;
b = s1.b;
c = s2.a;
d = s3.a;
e = s3.b;
}
}
// ====
// compileViaYul: also
// ----
// f((uint256,uint256),(uint256),(uint256,uint256)): 1, 2, 3, 4, 5 -> 1, 2, 3, 4, 5