aboutsummaryrefslogtreecommitdiffstats
path: root/test/libsolidity
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2017-03-06 21:49:51 +0800
committerchriseth <c@ethdev.com>2017-03-08 19:42:07 +0800
commit276229cc58e00dabeb1c7d800e91131816969a02 (patch)
tree60e6d02899a57e942951e928285fafec4a90f06f /test/libsolidity
parent78f7dd23446fb0bd4bff1847d560df4fac0e1159 (diff)
downloaddexon-solidity-276229cc58e00dabeb1c7d800e91131816969a02.tar.gz
dexon-solidity-276229cc58e00dabeb1c7d800e91131816969a02.tar.zst
dexon-solidity-276229cc58e00dabeb1c7d800e91131816969a02.zip
Tests for no compound assignment for tuples.
Diffstat (limited to 'test/libsolidity')
-rw-r--r--test/libsolidity/SolidityNameAndTypeResolution.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/test/libsolidity/SolidityNameAndTypeResolution.cpp b/test/libsolidity/SolidityNameAndTypeResolution.cpp
index 3d82fc70..da3e81ed 100644
--- a/test/libsolidity/SolidityNameAndTypeResolution.cpp
+++ b/test/libsolidity/SolidityNameAndTypeResolution.cpp
@@ -2992,6 +2992,18 @@ BOOST_AUTO_TEST_CASE(tuple_assignment_from_void_function)
CHECK_ERROR(text, TypeError, "Cannot declare variable with void (empty tuple) type.");
}
+BOOST_AUTO_TEST_CASE(tuple_compound_assignment)
+{
+ char const* text = R"(
+ contract C {
+ function f() returns (uint a, uint b) {
+ (a, b) += (1, 1);
+ }
+ }
+ )";
+ CHECK_ERROR(text, TypeError, "Compound assignment is not allowed for tuple types.");
+}
+
BOOST_AUTO_TEST_CASE(member_access_parser_ambiguity)
{
char const* text = R"(