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

18 lines
410 B
Solidity
Raw Normal View History

2019-05-02 16:09:19 +00:00
contract C {
function or(uint x) public returns (bool t, uint y) {
t = (x == 0 || ((x = 8) > 0));
y = x;
}
function and(uint x) public returns (bool t, uint y) {
t = (x == 0 && ((x = 8) > 0));
y = x;
}
}
// ====
// compileViaYul: true
// ----
// or(uint256): 0 -> true, 0
// and(uint256): 0 -> true, 8
// or(uint256): 1 -> true, 8
// and(uint256): 1 -> false, 1