solidity/test/libsolidity/smtCheckerTests/functions/this_fake.sol
2020-09-09 16:14:21 +02:00

25 lines
480 B
Solidity

pragma experimental SMTChecker;
contract C
{
uint public x;
C c;
function f(C _c) public {
c = _c;
}
function g() public {
C this = c;
x = 0;
this.h();
// State knowledge is erased.
// Function call is not inlined.
assert(x == 0);
}
function h() public {
x = 2;
}
}
// ----
// Warning 2319: (160-166): This declaration shadows a builtin symbol.
// Warning 6328: (268-282): Assertion violation happens here.