aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity
diff options
context:
space:
mode:
Diffstat (limited to 'libsolidity')
-rw-r--r--libsolidity/ast/Types.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/libsolidity/ast/Types.cpp b/libsolidity/ast/Types.cpp
index 301687b4..d5d11478 100644
--- a/libsolidity/ast/Types.cpp
+++ b/libsolidity/ast/Types.cpp
@@ -1698,6 +1698,9 @@ bool ArrayType::operator==(Type const& _other) const
bool ArrayType::validForCalldata() const
{
+ if (auto arrayBaseType = dynamic_cast<ArrayType const*>(baseType().get()))
+ if (!arrayBaseType->validForCalldata())
+ return false;
return unlimitedCalldataEncodedSize(true) <= numeric_limits<unsigned>::max();
}