solidity/test/libsolidity/semanticTests/viaYul/tuple_evaluation_order.sol

16 lines
356 B
Solidity
Raw Normal View History

contract C {
uint256 x;
uint256 y;
function set(uint256 v) public returns (uint256) { x = v; return v; }
function f() public returns (uint256, uint256) {
(y, y, y) = (set(1), set(2), set(3));
assert(y == 1 && x == 3);
return (x, y);
}
}
// ====
// compileViaYul: also
// compileToEwasm: also
// ----
// f() -> 3, 1