solidity/test/libsolidity/smtCheckerTests/operators/unary_add_mapping.sol
2020-12-09 19:55:18 +01:00

19 lines
412 B
Solidity

pragma experimental SMTChecker;
contract C
{
mapping (uint => uint) map;
function f(uint x) public {
map[x] = 2;
uint a = ++map[x];
assert(map[x] == 3);
assert(a == 3);
uint b = map[x]++;
assert(map[x] == 4);
// Should fail.
assert(b < 3);
}
}
// ----
// Warning 6328: (244-257): CHC: Assertion violation happens here.\nCounterexample:\n\nx = 38\n\n\nTransaction trace:\nconstructor()\nf(38)