Treat invalid external function type as a fatal error to prevent the type from being used

- `returnParameterTypesWithoutDynamicTypes()` assumes it won't encounter such types.
This commit is contained in:
Kamil Śliwak
2021-06-02 21:44:39 +02:00
parent 4cbf9ff74c
commit 4a19c7e495
4 changed files with 19 additions and 1 deletions
+1 -1
View File
@@ -721,7 +721,7 @@ void TypeChecker::endVisit(FunctionTypeName const& _funType)
{
solAssert(t->annotation().type, "Type not set for parameter.");
if (!t->annotation().type->interfaceType(false).get())
m_errorReporter.typeError(2582_error, t->location(), "Internal type cannot be used for external function type.");
m_errorReporter.fatalTypeError(2582_error, t->location(), "Internal type cannot be used for external function type.");
}
solAssert(fun.interfaceType(false), "External function type uses internal types.");
}