mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
26 lines
624 B
Solidity
26 lines
624 B
Solidity
contract C {
|
|
struct S {
|
|
uint256[2] a;
|
|
bytes b;
|
|
}
|
|
|
|
function f() public returns (bytes1, uint256, uint256, bytes1) {
|
|
bytes memory x = new bytes(200);
|
|
x[199] = "A";
|
|
uint256[2][] memory y = new uint256[2][](300);
|
|
y[203][1] = 8;
|
|
S[] memory z = new S[](180);
|
|
z[170].a[1] = 4;
|
|
z[170].b = new bytes(102);
|
|
z[170].b[99] = "B";
|
|
return (x[199], y[203][1], z[170].a[1], z[170].b[99]);
|
|
}
|
|
}
|
|
// ====
|
|
// compileViaYul: also
|
|
// ----
|
|
// f() -> "A", 8, 4, "B"
|
|
// gas irOptimized: 151068
|
|
// gas legacy: 121398
|
|
// gas legacyOptimized: 115494
|