mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
27 lines
667 B
Solidity
27 lines
667 B
Solidity
contract C {
|
|
function test(uint256 len, uint idx) public returns (uint256)
|
|
{
|
|
uint[] memory array = new uint[](len);
|
|
uint result = receiver(array, idx);
|
|
|
|
for (uint256 i = 0; i < array.length; i++)
|
|
require(array[i] == i + 1);
|
|
|
|
return result;
|
|
}
|
|
function receiver(uint[] memory array, uint idx) public returns (uint256)
|
|
{
|
|
for (uint256 i = 0; i < array.length; i++)
|
|
array[i] = i + 1;
|
|
|
|
return array[idx];
|
|
}
|
|
}
|
|
// ====
|
|
// compileViaYul: true
|
|
// ----
|
|
// test(uint256,uint256): 0, 0 -> FAILURE, hex"4e487b71", 0x32
|
|
// test(uint256,uint256): 1, 0 -> 1
|
|
// test(uint256,uint256): 10, 5 -> 6
|
|
// test(uint256,uint256): 10, 50 -> FAILURE, hex"4e487b71", 0x32
|