aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity/syntaxTests/tupleAssignments/double_storage_crash.sol
diff options
context:
space:
mode:
Diffstat (limited to 'test/libsolidity/syntaxTests/tupleAssignments/double_storage_crash.sol')
-rw-r--r--test/libsolidity/syntaxTests/tupleAssignments/double_storage_crash.sol11
1 files changed, 11 insertions, 0 deletions
diff --git a/test/libsolidity/syntaxTests/tupleAssignments/double_storage_crash.sol b/test/libsolidity/syntaxTests/tupleAssignments/double_storage_crash.sol
new file mode 100644
index 00000000..3cff3a9a
--- /dev/null
+++ b/test/libsolidity/syntaxTests/tupleAssignments/double_storage_crash.sol
@@ -0,0 +1,11 @@
+// This used to crash in certain compiler versions.
+contract CrashContract {
+ struct S { uint a; }
+ S x;
+ function f() public {
+ (x, x) = 1(x, x);
+ }
+}
+// ----
+// TypeError: (170-177): Type is not callable
+// TypeError: (170-177): Type tuple() is not implicitly convertible to expected type tuple(struct CrashContract.S storage ref,struct CrashContract.S storage ref).