2020-05-13 11:08:48 +00:00
|
|
|
pragma experimental SMTChecker;
|
|
|
|
|
|
|
|
contract C {
|
|
|
|
function f() public pure {
|
|
|
|
uint8 x = 1;
|
|
|
|
uint16 y = 0;
|
|
|
|
assert(x & y != 0);
|
|
|
|
x = 0xff;
|
|
|
|
y = 0xffff;
|
|
|
|
assert(x & y == 0xff);
|
|
|
|
assert(x & y == 0xffff);
|
|
|
|
assert(x & y == 0x0000);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
// ----
|
2020-12-29 08:39:45 +00:00
|
|
|
// Warning 6328: (107-125): CHC: Assertion violation happens here.\nCounterexample:\n\n\n\n\nTransaction trace:\nC.constructor()\nC.f()
|
|
|
|
// Warning 6328: (180-203): CHC: Assertion violation happens here.\nCounterexample:\n\n\n\n\nTransaction trace:\nC.constructor()\nC.f()
|
|
|
|
// Warning 6328: (207-230): CHC: Assertion violation happens here.\nCounterexample:\n\n\n\n\nTransaction trace:\nC.constructor()\nC.f()
|