2020-05-14 18:09:52 +00:00
|
|
|
abstract contract D {
|
|
|
|
function d() external virtual;
|
|
|
|
}
|
|
|
|
|
|
|
|
contract C {
|
|
|
|
uint x;
|
|
|
|
uint y;
|
|
|
|
D d;
|
|
|
|
|
|
|
|
function inc2() public {
|
|
|
|
if (y == 1)
|
|
|
|
x = 1;
|
|
|
|
}
|
|
|
|
function inc1() public {
|
|
|
|
if (x == 0)
|
|
|
|
y = 1;
|
|
|
|
}
|
|
|
|
|
|
|
|
function f() public {
|
|
|
|
uint oldX = x;
|
2020-09-29 18:54:26 +00:00
|
|
|
// Removed because Spacer 4.8.9 seg faults.
|
|
|
|
//d.d();
|
2020-05-14 18:09:52 +00:00
|
|
|
assert(oldX == x);
|
|
|
|
}
|
|
|
|
}
|
2021-03-31 15:11:54 +00:00
|
|
|
// ====
|
|
|
|
// SMTEngine: all
|
2020-05-14 18:09:52 +00:00
|
|
|
// ----
|
2021-03-31 15:11:54 +00:00
|
|
|
// Warning 2018: (203-322): Function state mutability can be restricted to view
|