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

15 lines
332 B
Solidity

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
// ----
// f() -> 3, 1