solidity/test/libsolidity/semanticTests/various/nested_calldata_struct.sol
2021-01-19 13:04:45 -05:00

30 lines
543 B
Solidity

pragma abicoder v2;
contract C {
struct S1 {
uint256 a;
uint256 b;
}
struct S2 {
uint256 a;
uint256 b;
S1 s;
uint256 c;
}
function f(S2 calldata s)
external
pure
returns (uint256 a, uint256 b, uint256 sa, uint256 sb, uint256 c)
{
return (s.a, s.b, s.s.a, s.s.b, s.c);
}
}
// ====
// compileViaYul: also
// compileToEwasm: also
// ----
// f((uint256,uint256,(uint256,uint256),uint256)): 1, 2, 3, 4, 5 -> 1, 2, 3, 4, 5