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 3a19fec8e89..f598e6c67e8 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 @@ -458,14 +458,14 @@ public class ConstraintSystemImpl : ConstraintSystem { } private fun satisfyInitialConstraints(): Boolean { - fun JetType.substituteAndMakeNotNullable(): JetType? { + fun JetType.substituteAndMakeNullable(): JetType? { val substitutor = getSubstitutor(substituteOriginal = false) { TypeProjectionImpl(ErrorUtils.createUninferredParameterType(it)) } val result = substitutor.substitute(this, Variance.INVARIANT) ?: return null - return TypeUtils.makeNotNullable(result) + return TypeUtils.makeNullable(result) } return initialConstraints.all { - val resultSubType = it.subtype.substituteAndMakeNotNullable() ?: return false - val resultSuperType = it.superType.substituteAndMakeNotNullable() ?: return false + val resultSubType = it.subtype.substituteAndMakeNullable() ?: return false + val resultSuperType = it.superType.substituteAndMakeNullable() ?: return false when (it.kind) { SUB_TYPE -> JetTypeChecker.DEFAULT.isSubtypeOf(resultSubType, resultSuperType) EQUAL -> JetTypeChecker.DEFAULT.equalTypes(resultSubType, resultSuperType)