diff options
author | chriseth <chris@ethereum.org> | 2017-06-15 00:35:38 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-06-15 00:35:38 +0800 |
commit | f008ddf83646f6002a61a123cc94ad195a35dce4 (patch) | |
tree | 1473e56deb36d2ff77a412fc89c15dd6aec6b0f4 /test | |
parent | fd5bf16101d514d77cf4c7c64de367ec398995a2 (diff) | |
parent | 29e7ad3d7b2b1700c085348911b0d6f129d2a5a5 (diff) | |
download | dexon-solidity-f008ddf83646f6002a61a123cc94ad195a35dce4.tar.gz dexon-solidity-f008ddf83646f6002a61a123cc94ad195a35dce4.tar.zst dexon-solidity-f008ddf83646f6002a61a123cc94ad195a35dce4.zip |
Merge pull request #2381 from ethereum/fixcrash
Fix a crash about a non-callable expression.
Diffstat (limited to 'test')
-rw-r--r-- | test/libsolidity/SolidityNameAndTypeResolution.cpp | 15 |
1 files changed, 14 insertions, 1 deletions
diff --git a/test/libsolidity/SolidityNameAndTypeResolution.cpp b/test/libsolidity/SolidityNameAndTypeResolution.cpp index 017eeaec..70934543 100644 --- a/test/libsolidity/SolidityNameAndTypeResolution.cpp +++ b/test/libsolidity/SolidityNameAndTypeResolution.cpp @@ -5785,6 +5785,20 @@ BOOST_AUTO_TEST_CASE(no_unused_inline_asm) CHECK_SUCCESS_NO_WARNINGS(text); } +BOOST_AUTO_TEST_CASE(callable_crash) +{ + char const* text = R"( + contract C { + struct S { uint a; bool x; } + S public s; + function C() { + 3({a: 1, x: true}); + } + } + )"; + CHECK_ERROR(text, TypeError, "Type is not callable"); +} + BOOST_AUTO_TEST_CASE(returndatacopy_as_variable) { char const* text = R"( @@ -5810,7 +5824,6 @@ BOOST_AUTO_TEST_CASE(shadowing_warning_can_be_removed) } - BOOST_AUTO_TEST_SUITE_END() } |