diff --git a/compiler/resolution.common/src/org/jetbrains/kotlin/resolve/calls/inference/model/MutableConstraintStorage.kt b/compiler/resolution.common/src/org/jetbrains/kotlin/resolve/calls/inference/model/MutableConstraintStorage.kt index 2f64e909349..8dd11dc1382 100644 --- a/compiler/resolution.common/src/org/jetbrains/kotlin/resolve/calls/inference/model/MutableConstraintStorage.kt +++ b/compiler/resolution.common/src/org/jetbrains/kotlin/resolve/calls/inference/model/MutableConstraintStorage.kt @@ -63,14 +63,16 @@ class MutableVariableWithConstraints private constructor( ConstraintKind.EQUALITY -> true } if (isMatchingForSimplification) { - val actualConstraint = Constraint( - ConstraintKind.EQUALITY, - constraint.type, - constraint.position, - constraint.typeHashCode, - derivedFrom = constraint.derivedFrom, - isNullabilityConstraint = false - ) + val actualConstraint = if (constraint.kind != ConstraintKind.EQUALITY) { + Constraint( + ConstraintKind.EQUALITY, + constraint.type, + constraint.position, + constraint.typeHashCode, + derivedFrom = constraint.derivedFrom, + isNullabilityConstraint = false + ) + } else constraint mutableConstraints.add(actualConstraint) simplifiedConstraints = null return actualConstraint