solidity/test/libsolidity/smtCheckerTests/inheritance/implicit_constructor_hierarchy.sol

19 lines
270 B
Solidity

contract A {
uint x;
constructor (uint y) { assert(x == 0); x = y; }
}
contract B is A {
constructor () A(2) { assert(x == 2); }
}
contract C is B {
function f() public view {
assert(x == 2);
}
}
// ====
// SMTEngine: all
// SMTSolvers: z3
// SMTIgnoreInv: yes