diff --git a/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemImpl.kt b/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemImpl.kt index b768d4917dc..77d576e06dc 100644 --- a/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemImpl.kt +++ b/core/descriptors/src/org/jetbrains/kotlin/resolve/calls/inference/ConstraintSystemImpl.kt @@ -56,7 +56,7 @@ public class ConstraintSystemImpl : ConstraintSystem { private val allTypeParameterBounds = LinkedHashMap() private val externalTypeParameters = HashSet() - private val typeParameterBounds: Map + private val localTypeParameterBounds: Map get() = if (externalTypeParameters.isEmpty()) allTypeParameterBounds else allTypeParameterBounds.filter { !externalTypeParameters.contains(it.key) } @@ -86,9 +86,9 @@ public class ConstraintSystemImpl : ConstraintSystem { override fun hasViolatedUpperBound() = !isSuccessful() && filterConstraintsOut(TYPE_BOUND_POSITION).getStatus().isSuccessful() - override fun hasConflictingConstraints() = typeParameterBounds.values().any { it.values.size() > 1 } + override fun hasConflictingConstraints() = localTypeParameterBounds.values().any { it.values.size() > 1 } - override fun hasUnknownParameters() = typeParameterBounds.values().any { it.values.isEmpty() } + override fun hasUnknownParameters() = localTypeParameterBounds.values().any { it.values.isEmpty() } override fun hasTypeConstructorMismatch() = errors.any { it is TypeConstructorMismatch }