aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity/smtCheckerTests/functions/functions_external_3.sol
diff options
context:
space:
mode:
Diffstat (limited to 'test/libsolidity/smtCheckerTests/functions/functions_external_3.sol')
-rw-r--r--test/libsolidity/smtCheckerTests/functions/functions_external_3.sol22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/libsolidity/smtCheckerTests/functions/functions_external_3.sol b/test/libsolidity/smtCheckerTests/functions/functions_external_3.sol
new file mode 100644
index 00000000..dd36ec73
--- /dev/null
+++ b/test/libsolidity/smtCheckerTests/functions/functions_external_3.sol
@@ -0,0 +1,22 @@
+pragma experimental SMTChecker;
+
+contract D
+{
+ function g(uint x) public;
+}
+
+contract C
+{
+ mapping (uint => uint) storageMap;
+ function f(uint y, D d) public {
+ mapping (uint => uint) storage map = storageMap;
+ require(map[0] == map[1]);
+ assert(map[0] == map[1]);
+ d.g(y);
+ // Storage knowledge is cleared after an external call.
+ assert(map[0] == map[1]);
+ }
+}
+// ----
+// Warning: (146-149): Assertion checker does not yet support the type of this variable.
+// Warning: (338-362): Assertion violation happens here