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: also
// ----
// 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
