diff options
Diffstat (limited to 'libsolidity')
-rw-r--r-- | libsolidity/analysis/TypeChecker.cpp | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libsolidity/analysis/TypeChecker.cpp b/libsolidity/analysis/TypeChecker.cpp index 66b0af58..2675b7eb 100644 --- a/libsolidity/analysis/TypeChecker.cpp +++ b/libsolidity/analysis/TypeChecker.cpp @@ -1418,6 +1418,10 @@ bool TypeChecker::visit(TupleExpression const& _tuple) components[i]->accept(*this); types.push_back(type(*components[i])); + if (types[i]->category() == Type::Category::Tuple) + if (dynamic_cast<TupleType const&>(*types[i]).components().empty()) + m_errorReporter.fatalTypeError(components[i]->location(), "Type of tuple component cannot be null."); + // Note: code generation will visit each of the expression even if they are not assigned from. if (types[i]->category() == Type::Category::RationalNumber && components.size() > 1) if (!dynamic_cast<RationalNumberType const&>(*types[i]).mobileType()) |