solidity/test/libsolidity/semanticTests/array/byte_array_transitional_2.sol
2021-07-05 13:46:53 +02:00

25 lines
616 B
Solidity

// Tests transition between short and long encoding both ways
contract c {
bytes data;
function test() public returns (uint256) {
for (uint8 i = 0; i < 33; i++) {
data.push(bytes1(i));
}
for (uint8 i = 0; i < data.length; i++)
if (data[i] != bytes1(i)) return i;
data.pop();
data.pop();
for (uint8 i = 0; i < data.length; i++)
if (data[i] != bytes1(i)) return i;
return 0;
}
}
// ====
// compileViaYul: also
// ----
// test() -> 0
// gas irOptimized: 165224
// gas legacy: 189715
// gas legacyOptimized: 184472