diff options
author | chriseth <chris@ethereum.org> | 2018-10-15 17:24:47 +0800 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-10-15 17:24:47 +0800 |
commit | 656adcaeb7cad9e260553a9cd6c939dadc9a1004 (patch) | |
tree | 1449da62955380b98957a4887fe95bd85a1e602c /test | |
parent | 6f595ee0dfb5c52d1760745540075efe40390d1e (diff) | |
parent | 6d815a142fbf85e19ab4f061c6e4275a26ff2e5f (diff) | |
download | dexon-solidity-656adcaeb7cad9e260553a9cd6c939dadc9a1004.tar dexon-solidity-656adcaeb7cad9e260553a9cd6c939dadc9a1004.tar.gz dexon-solidity-656adcaeb7cad9e260553a9cd6c939dadc9a1004.tar.bz2 dexon-solidity-656adcaeb7cad9e260553a9cd6c939dadc9a1004.tar.lz dexon-solidity-656adcaeb7cad9e260553a9cd6c939dadc9a1004.tar.xz dexon-solidity-656adcaeb7cad9e260553a9cd6c939dadc9a1004.tar.zst dexon-solidity-656adcaeb7cad9e260553a9cd6c939dadc9a1004.zip |
Merge pull request #5149 from ethereum/fix_assertion_on_inval_tuple_call
Fixes invalid function calls to literals inside tuple assignment's LHS.
Diffstat (limited to 'test')
-rw-r--r-- | test/libsolidity/syntaxTests/types/function_call_fail.sol | 9 | ||||
-rw-r--r-- | test/libsolidity/syntaxTests/types/function_call_fail2.sol | 7 |
2 files changed, 16 insertions, 0 deletions
diff --git a/test/libsolidity/syntaxTests/types/function_call_fail.sol b/test/libsolidity/syntaxTests/types/function_call_fail.sol new file mode 100644 index 00000000..ef52ab44 --- /dev/null +++ b/test/libsolidity/syntaxTests/types/function_call_fail.sol @@ -0,0 +1,9 @@ +contract C { + function f(uint y) public pure { + (4(y)) = 2; + } +} +// ---- +// TypeError: (59-63): Type is not callable +// TypeError: (59-63): Expression has to be an lvalue. +// TypeError: (67-68): Type int_const 2 is not implicitly convertible to expected type tuple(). diff --git a/test/libsolidity/syntaxTests/types/function_call_fail2.sol b/test/libsolidity/syntaxTests/types/function_call_fail2.sol new file mode 100644 index 00000000..389ffce9 --- /dev/null +++ b/test/libsolidity/syntaxTests/types/function_call_fail2.sol @@ -0,0 +1,7 @@ +contract C { + function f(uint y) public pure returns (uint) { + (f(y)) = 2; + } +} +// ---- +// TypeError: (74-78): Expression has to be an lvalue. |