diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/mpp/FirExpectActualResolver.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/mpp/FirExpectActualResolver.kt index 349e8973d64..0d8b5a447c3 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/mpp/FirExpectActualResolver.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/mpp/FirExpectActualResolver.kt @@ -44,15 +44,16 @@ object FirExpectActualResolver { ?.fullyExpandedClass(useSiteSession) val expectTypeParameters = expectContainingClass?.typeParameterSymbols.orEmpty() - val actualTypeParameters = actualContainingClass - ?.typeParameterSymbols - .orEmpty() + val actualTypeParameters = actualContainingClass?.typeParameterSymbols.orEmpty() - parentSubstitutor = createExpectActualTypeParameterSubstitutor( - expectTypeParameters, - actualTypeParameters, - useSiteSession, - ) + parentSubstitutor = when (expectTypeParameters.size == actualTypeParameters.size) { + true -> createExpectActualTypeParameterSubstitutor( + expectTypeParameters, + actualTypeParameters, + useSiteSession, + ) + false -> null + } when (actualSymbol) { is FirConstructorSymbol -> expectContainingClass?.getConstructors(scopeSession)