mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Introduced tuple type and added multi variable declarations to type
checker.
This commit is contained in:
@@ -1285,7 +1285,7 @@ BOOST_AUTO_TEST_CASE(empty_name_return_parameter_with_named_one)
|
||||
|
||||
BOOST_AUTO_TEST_CASE(disallow_declaration_of_void_type)
|
||||
{
|
||||
char const* sourceCode = "contract c { function f() { var x = f(); } }";
|
||||
char const* sourceCode = "contract c { function f() { var (x) = f(); } }";
|
||||
SOLIDITY_CHECK_ERROR_TYPE(parseAndAnalyseReturnError(sourceCode), TypeError);
|
||||
}
|
||||
|
||||
@@ -2134,7 +2134,7 @@ BOOST_AUTO_TEST_CASE(dynamic_return_types_not_possible)
|
||||
contract C {
|
||||
function f(uint) returns (string);
|
||||
function g() {
|
||||
var x = this.f(2);
|
||||
var (x,) = this.f(2);
|
||||
}
|
||||
}
|
||||
)";
|
||||
|
||||
@@ -952,6 +952,18 @@ BOOST_AUTO_TEST_CASE(multi_variable_declaration)
|
||||
BOOST_CHECK_NO_THROW(parseText(text));
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_CASE(multi_variable_declaration_invalid)
|
||||
{
|
||||
char const* text = R"(
|
||||
library Lib {
|
||||
function f() {
|
||||
var () = g();
|
||||
}
|
||||
}
|
||||
)";
|
||||
BOOST_CHECK_THROW(parseText(text), ParserError);
|
||||
}
|
||||
|
||||
BOOST_AUTO_TEST_SUITE_END()
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user