mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
26 lines
493 B
Solidity
26 lines
493 B
Solidity
|
pragma experimental SMTChecker;
|
||
|
|
||
|
contract A {
|
||
|
uint x;
|
||
|
function f() internal view {
|
||
|
assert(x == 0);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
contract B is A {
|
||
|
uint a;
|
||
|
uint b;
|
||
|
}
|
||
|
|
||
|
contract C is B {
|
||
|
uint y;
|
||
|
uint z;
|
||
|
uint w;
|
||
|
function g() public {
|
||
|
x = 1;
|
||
|
f();
|
||
|
}
|
||
|
}
|
||
|
// ----
|
||
|
// Warning 6328: (87-101): CHC: Assertion violation happens here.\nCounterexample:\ny = 0, z = 0, w = 0, a = 0, b = 0, x = 1\n\nTransaction trace:\nC.constructor()\nState: y = 0, z = 0, w = 0, a = 0, b = 0, x = 0\nC.g()\n A.f() -- internal call
|