diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Arguments.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Arguments.kt index a95ea2854a5..b655fa65db9 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Arguments.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/Arguments.kt @@ -308,7 +308,8 @@ internal fun Candidate.resolveArgument( private fun Candidate.prepareExpectedType(session: FirSession, argument: FirExpression, parameter: FirValueParameter?): ConeKotlinType? { if (parameter == null) return null - if (parameter.returnTypeRef is FirILTTypeRefPlaceHolder) return argument.resultType.coneType + if (parameter.returnTypeRef is FirILTTypeRefPlaceHolder && argument.resultType is FirResolvedTypeRef) + return argument.resultType.coneType val basicExpectedType = argument.getExpectedType(session, parameter/*, LanguageVersionSettings*/) val expectedType = getExpectedTypeWithSAMConversion(session, argument, basicExpectedType) ?: basicExpectedType return this.substitutor.substituteOrSelf(expectedType) diff --git a/compiler/testData/codegen/box/classes/kt1980.kt b/compiler/testData/codegen/box/classes/kt1980.kt index dbabdcf99cc..e237e4c8b9b 100644 --- a/compiler/testData/codegen/box/classes/kt1980.kt +++ b/compiler/testData/codegen/box/classes/kt1980.kt @@ -1,4 +1,3 @@ -// IGNORE_BACKEND_FIR: JVM_IR // KJS_WITH_FULL_RUNTIME public inline fun Int.times(body : () -> Unit) { var count = this;