mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
22 lines
699 B
Solidity
22 lines
699 B
Solidity
pragma experimental SMTChecker;
|
|
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
|
|
}
|
|
}
|
|
// ----
|
|
// Warning 5667: (84-90): Unused function parameter. Remove or comment out the variable name to silence this warning.
|
|
// Warning 6328: (314-328): CHC: Assertion violation happens here.\nCounterexample:\nx = 0\nc = 0\nd = 1\n\nTransaction trace:\nChild.constructor()\nState: x = 0\nChild.bInit(0, 1)\n BaseBase.init(0, 1) -- internal call
|