mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
33 lines
695 B
Solidity
33 lines
695 B
Solidity
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;
|
|
}
|
|
}
|
|
// ====
|
|
// EVMVersion: >=byzantium
|
|
// compileToEwasm: also
|
|
// compileViaYul: also
|
|
// ----
|
|
// test_eq_ok() -> 1
|
|
// test_eq() -> FAILURE, hex"4e487b71", 33 # both should throw #
|
|
// test_neq() -> FAILURE, hex"4e487b71", 33
|