mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
[SMTChecker] Use same sort name for array slice as for the underlying array.
This commit is contained in:
@@ -22,10 +22,12 @@ contract C {
|
||||
}
|
||||
// ----
|
||||
// Warning 6328: (312-342): CHC: Assertion violation happens here.
|
||||
// Warning 6328: (548-578): CHC: Assertion violation happens here.
|
||||
// Warning 1218: (548-578): CHC: Error trying to invoke SMT solver.
|
||||
// Warning 6328: (548-578): CHC: Assertion violation might happen here.
|
||||
// Warning 1218: (644-674): CHC: Error trying to invoke SMT solver.
|
||||
// Warning 6328: (644-674): CHC: Assertion violation might happen here.
|
||||
// Warning 1218: (895-925): CHC: Error trying to invoke SMT solver.
|
||||
// Warning 6328: (895-925): CHC: Assertion violation might happen here.
|
||||
// Warning 4661: (548-578): BMC: Assertion violation happens here.
|
||||
// Warning 4661: (644-674): BMC: Assertion violation happens here.
|
||||
// Warning 4661: (895-925): BMC: Assertion violation happens here.
|
||||
|
||||
@@ -0,0 +1,5 @@
|
||||
pragma experimental SMTChecker;
|
||||
contract e {
|
||||
function f(uint[] calldata) internal {}
|
||||
function h(uint[] calldata c) external { f(c[:]); }
|
||||
}
|
||||
@@ -0,0 +1,17 @@
|
||||
pragma experimental SMTChecker;
|
||||
|
||||
contract C {
|
||||
int[] s;
|
||||
function f(int[] calldata b, uint256 start, uint256 end) public returns (int) {
|
||||
s = b[start:end];
|
||||
uint len = end - start;
|
||||
assert(len == s.length);
|
||||
for (uint i = 0; i < len; i++) {
|
||||
assert(b[start:end][i] == s[i]);
|
||||
}
|
||||
return s[0];
|
||||
}
|
||||
}
|
||||
// ----
|
||||
// Warning 6328: (259-290): CHC: Assertion violation might happen here.
|
||||
// Warning 4661: (259-290): BMC: Assertion violation happens here.
|
||||
Reference in New Issue
Block a user