diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirBuilderInferenceSession.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirBuilderInferenceSession.kt index e69a0552eee..0ecdb3e83df 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirBuilderInferenceSession.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/inference/FirBuilderInferenceSession.kt @@ -17,6 +17,7 @@ import org.jetbrains.kotlin.fir.resolve.calls.ImplicitExtensionReceiverValue import org.jetbrains.kotlin.fir.resolve.calls.ResolutionContext import org.jetbrains.kotlin.fir.resolve.substitution.ChainedSubstitutor import org.jetbrains.kotlin.fir.resolve.substitution.ConeSubstitutor +import org.jetbrains.kotlin.fir.resolve.substitution.replaceStubsAndTypeVariablesToErrors import org.jetbrains.kotlin.fir.types.* import org.jetbrains.kotlin.fir.visitors.FirDefaultTransformer import org.jetbrains.kotlin.fir.visitors.transformSingle @@ -127,7 +128,6 @@ class FirBuilderInferenceSession( } val context = commonSystem.asConstraintSystemCompleterContext() - @Suppress("UNCHECKED_CAST") components.callCompleter.completer.complete( context, completionMode, @@ -230,10 +230,11 @@ class FirBuilderInferenceSession( return introducedConstraint } - private fun getResultingSubstitutor(commonSystem: NewConstraintSystemImpl): ChainedSubstitutor { + private fun getResultingSubstitutor(commonSystem: NewConstraintSystemImpl): ConeSubstitutor { val nonFixedToVariablesSubstitutor = createNonFixedTypeToVariableSubstitutor() val commonSystemSubstitutor = commonSystem.buildCurrentSubstitutor() as ConeSubstitutor return ChainedSubstitutor(nonFixedToVariablesSubstitutor, commonSystemSubstitutor) + .replaceStubsAndTypeVariablesToErrors(resolutionContext.typeContext, stubsForPostponedVariables.values.map { it.constructor }) } private fun updateCalls(substitutor: ConeSubstitutor) {