solidity/test/libsolidity/semanticTests/abiEncoderV1/abi_decode_v2_storage.sol

30 lines
545 B
Solidity
Raw Normal View History

2020-11-23 18:06:44 +00:00
pragma abicoder v2;
contract C {
bytes data;
struct S {
uint256 a;
uint256[] b;
}
function f() public returns (S memory) {
S memory s;
s.a = 8;
s.b = new uint256[](3);
s.b[0] = 9;
s.b[1] = 10;
s.b[2] = 11;
data = abi.encode(s);
return abi.decode(data, (S));
}
}
2020-10-20 15:05:58 +00:00
// ====
// compileViaYul: also
// ----
// f() -> 0x20, 0x8, 0x40, 0x3, 0x9, 0xa, 0xb
// gas irOptimized: 193626
2021-02-12 12:45:15 +00:00
// gas legacy: 196426
// gas legacyOptimized: 193405