solidity/test/libsolidity/semanticTests/reverts/invalid_enum_compared.sol

31 lines
606 B
Solidity
Raw Normal View History

contract C {
enum X {A, B}
function test_eq() public returns (bool) {
X garbled;
assembly {
garbled := 5
}
return garbled == garbled;
}
function test_eq_ok() public returns (bool) {
X garbled = X.A;
return garbled == garbled;
}
function test_neq() public returns (bool) {
X garbled;
assembly {
garbled := 5
}
return garbled != garbled;
}
}
2020-05-05 15:22:54 +00:00
// ====
// compileViaYul: also
// ----
// test_eq_ok() -> 1
// test_eq() -> FAILURE # both should throw #
// test_neq() -> FAILURE