NI: improve reporting errors about mismatch number of anonymous function parameters

This commit is contained in:
Victor Petukhov
2020-05-08 12:39:11 +03:00
parent 585e98a835
commit b49dc46e6c
2 changed files with 4 additions and 8 deletions
@@ -72,11 +72,7 @@ class PostponedArgumentInputTypesResolver(
): ParameterTypesInfo? {
val expectedType = argument.expectedType ?: return null
val variableWithConstraints = notFixedTypeVariables[expectedType.constructor] ?: return null
// We shouldn't collect functional types from constraints for anonymous functions as they have fully explicit declaration form
val functionalTypesFromConstraints = if (!isAnonymousFunction(argument)) {
findFunctionalTypesInConstraints(variableWithConstraints, variableDependencyProvider)
} else null
val functionalTypesFromConstraints = findFunctionalTypesInConstraints(variableWithConstraints, variableDependencyProvider)
// Don't create functional expected type for further error reporting about a different number of arguments
if (functionalTypesFromConstraints != null && functionalTypesFromConstraints.distinctBy { it.type.argumentsCount() }.size > 1)