diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirCallCompletionResultsWriterTransformer.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirCallCompletionResultsWriterTransformer.kt index 85fa5d1fcbc..1b0029cb50b 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirCallCompletionResultsWriterTransformer.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/transformers/FirCallCompletionResultsWriterTransformer.kt @@ -345,7 +345,16 @@ class FirCallCompletionResultsWriterTransformer( anonymousFunction.constructFunctionalTypeRef(session, isSuspend = expectedType?.isSuspendFunctionType(session) == true) ) } - return transformElement(anonymousFunction, null) + val result = transformElement(anonymousFunction, null) + val resultFunction = result.single + if (resultFunction.returnTypeRef.coneTypeSafe() != null) { + val blockType = resultFunction.body?.typeRef?.coneTypeSafe() + resultFunction.replaceReturnTypeRef(resultFunction.returnTypeRef.withReplacedConeType(blockType)) + resultFunction.replaceTypeRef( + resultFunction.constructFunctionalTypeRef(session, isSuspend = expectedType?.isSuspendFunctionType(session) == true) + ) + } + return result } override fun transformBlock(block: FirBlock, data: ExpectedArgumentType?): CompositeTransformResult {