diff --git a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CallableReferenceResolution.kt b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CallableReferenceResolution.kt index fa2c3a787dd..5f148908380 100644 --- a/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CallableReferenceResolution.kt +++ b/compiler/fir/resolve/src/org/jetbrains/kotlin/fir/resolve/calls/CallableReferenceResolution.kt @@ -70,14 +70,6 @@ internal object CheckCallableReferenceExpectedType : CheckerStage() { ) { addSubtypeConstraint(resultingType, expectedType, position) } - - val declarationReceiverType: ConeKotlinType? = - fir.receiverParameter?.typeRef?.coneType?.let(candidate.substitutor::substituteOrSelf) - - if (resultingReceiverType != null && declarationReceiverType != null) { - val capturedReceiver = context.session.typeContext.captureFromExpression(resultingReceiverType) ?: resultingReceiverType - addSubtypeConstraint(capturedReceiver, declarationReceiverType, position) - } } var isApplicable = true diff --git a/compiler/testData/diagnostics/tests/inference/capturedTypes/approximateContravariantCapturedTypes.fir.kt b/compiler/testData/diagnostics/tests/inference/capturedTypes/approximateContravariantCapturedTypes.fir.kt index 64f52361d33..56481fbde2f 100644 --- a/compiler/testData/diagnostics/tests/inference/capturedTypes/approximateContravariantCapturedTypes.fir.kt +++ b/compiler/testData/diagnostics/tests/inference/capturedTypes/approximateContravariantCapturedTypes.fir.kt @@ -26,15 +26,15 @@ fun Float.bar() {} fun id(x: K) = x fun test1() { - val fooSetRef = Foo<*>::setX + val fooSetRef = , CapturedType(*), CapturedType(*)>")!>Foo<*>::setX - val fooSetRef2 = id( - Foo<*>::setX + val fooSetRef2 = , kotlin.Nothing, kotlin.Number>")!>id( + , CapturedType(*), CapturedType(*)>")!>Foo<*>::setX ) val foo = Foo(1f) - fooSetRef.invoke(foo, 1) - fooSetRef2.invoke(foo, 1) + fooSetRef.invoke(foo, 1) + fooSetRef2.invoke(foo, 1) foo.x.bar() } @@ -53,14 +53,14 @@ fun test2() { } fun test3() { - val fooSetRef = Foo2<*>::setX - val fooSetRef2 = id( - Foo2<*>::setX + val fooSetRef = , CapturedType(*), CapturedType(*)>")!>Foo2<*>::setX + val fooSetRef2 = , kotlin.Nothing, kotlin.Any?>")!>id( + , CapturedType(*), CapturedType(*)>")!>Foo2<*>::setX ) val foo = Foo2(1) - fooSetRef.invoke(foo, "") - fooSetRef2.invoke(foo, "") + fooSetRef.invoke(foo, "") + fooSetRef2.invoke(foo, "") foo.x.bar() }