2019-05-06 16:24:15 +00:00
|
|
|
pragma experimental SMTChecker;
|
|
|
|
|
|
|
|
contract C
|
|
|
|
{
|
|
|
|
uint[][] a;
|
|
|
|
function f(bool b) public {
|
2020-04-14 09:09:38 +00:00
|
|
|
a[1][1] = 512;
|
2020-02-12 02:21:42 +00:00
|
|
|
a[2][3] = 4;
|
2019-05-06 16:24:15 +00:00
|
|
|
if (b)
|
|
|
|
delete a;
|
|
|
|
else
|
|
|
|
delete a[2];
|
|
|
|
assert(a[2][3] == 0);
|
2019-08-22 13:44:30 +00:00
|
|
|
assert(a[1][1] == 0);
|
2019-05-06 16:24:15 +00:00
|
|
|
}
|
|
|
|
}
|
2020-02-12 02:21:42 +00:00
|
|
|
// ====
|
|
|
|
// SMTSolvers: z3
|
2020-02-12 01:52:35 +00:00
|
|
|
// ----
|
2020-12-02 17:40:48 +00:00
|
|
|
// Warning 6328: (191-211): CHC: Assertion violation happens here.\nCounterexample:\na = []\nb = false\n\n\nTransaction trace:\nconstructor()\nState: a = []\nf(false)
|