2021-01-18 10:40:04 +00:00
|
|
|
contract BaseBase {
|
|
|
|
uint x;
|
|
|
|
function init(uint a, uint b) public virtual {
|
|
|
|
x = a;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
contract Base is BaseBase {
|
|
|
|
function init(uint a, uint b) public override {
|
|
|
|
}
|
|
|
|
}
|
|
|
|
contract Child is Base {
|
|
|
|
function bInit(uint c, uint d) public {
|
|
|
|
BaseBase.init(c, d);
|
|
|
|
assert(x == c);
|
|
|
|
assert(x == d); // should fail
|
|
|
|
}
|
|
|
|
}
|
2021-01-21 18:04:34 +00:00
|
|
|
// ====
|
2021-03-31 15:11:54 +00:00
|
|
|
// SMTEngine: all
|
2021-01-21 18:04:34 +00:00
|
|
|
// SMTIgnoreCex: yes
|
2021-01-18 10:40:04 +00:00
|
|
|
// ----
|
2021-03-31 15:11:54 +00:00
|
|
|
// Warning 5667: (52-58): Unused function parameter. Remove or comment out the variable name to silence this warning.
|
|
|
|
// Warning 6328: (282-296): CHC: Assertion violation happens here.
|
2023-02-09 16:07:13 +00:00
|
|
|
// Info 1391: CHC: 1 verification condition(s) proved safe! Enable the model checker option "show proved safe" to see all of them.
|