solidity/test/libsolidity/smtCheckerTests/operators/conditional_assignment_5.sol

30 lines
540 B
Solidity
Raw Normal View History

pragma experimental SMTChecker;
abstract contract D {
function d() public virtual ;
}
contract C {
bool a;
uint x;
D d;
function g() public returns (uint) {
x = 2;
d.d();
return x;
}
2020-09-29 18:54:26 +00:00
function f() public {
x = 1;
2020-09-29 18:54:26 +00:00
uint y = g();
assert(x == 2 || x == 1);
}
function h() public {
x = 3;
}
}
2021-01-20 10:22:28 +00:00
// ====
// SMTIgnoreCex: yes
// ----
2020-09-29 18:54:26 +00:00
// Warning 2072: (282-288): Unused local variable.
2021-01-20 10:22:28 +00:00
// Warning 6328: (304-328): CHC: Assertion violation happens here.