[NI] Don't skip constraints with projections during variable fixation
Those constraints are only restored for variable fixation stage because of the influence on pefrormance. ^KT-37650 Fixed ^KT-37380 Fixed
This commit is contained in:
+7
-1
@@ -209,8 +209,14 @@ class ConstraintIncorporator(
|
||||
|
||||
val isUsefulForNullabilityConstraint =
|
||||
isPotentialUsefulNullabilityConstraint(newConstraint, otherConstraint.type, otherConstraint.kind)
|
||||
val isFromVariableFixation = baseConstraint.position.from is FixVariableConstraintPosition
|
||||
|| otherConstraint.position.from is FixVariableConstraintPosition
|
||||
|
||||
if (!containsConstrainingTypeWithoutProjection(newConstraint, otherConstraint)
|
||||
&& !isUsefulForNullabilityConstraint
|
||||
&& !isFromVariableFixation
|
||||
) return
|
||||
|
||||
if (!isUsefulForNullabilityConstraint && !containsConstrainingTypeWithoutProjection(newConstraint, otherConstraint)) return
|
||||
if (trivialConstraintTypeInferenceOracle.isGeneratedConstraintTrivial(
|
||||
baseConstraint, otherConstraint, newConstraint, isSubtype
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user