diff --git a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt index 288a155b8c1..1e1bcb97f76 100644 --- a/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt +++ b/compiler/fir/checkers/src/org/jetbrains/kotlin/fir/analysis/checkers/FirHelpers.kt @@ -449,10 +449,6 @@ fun checkTypeMismatch( val typeContext = context.session.typeContext if (!isSubtypeForTypeMismatch(typeContext, subtype = rValueType, supertype = lValueType)) { - if (lValueType.isExtensionFunctionType || rValueType.isExtensionFunctionType) { - // TODO: remove after fix of KT-45989 - return - } val resolvedSymbol = assignment?.calleeReference?.toResolvedCallableSymbol() as? FirPropertySymbol when { resolvedSymbol != null && lValueType is ConeCapturedType && lValueType.constructor.projection.kind.let { diff --git a/compiler/testData/diagnostics/tests/annotations/annotationOnParameterInFunctionType.fir.kt b/compiler/testData/diagnostics/tests/annotations/annotationOnParameterInFunctionType.fir.kt index d3d97bf937f..ac4dea14a6b 100644 --- a/compiler/testData/diagnostics/tests/annotations/annotationOnParameterInFunctionType.fir.kt +++ b/compiler/testData/diagnostics/tests/annotations/annotationOnParameterInFunctionType.fir.kt @@ -24,7 +24,7 @@ class A : (@Ann Int)->Unit { @Target(AnnotationTarget.TYPE) annotation class TypeAnn -val onType: (@TypeAnn A).(@Ann a: @TypeAnn A, @TypeAnn A)->@TypeAnn A? = { null } +val onType: (@TypeAnn A).(@Ann a: @TypeAnn A, @TypeAnn A)->@TypeAnn A? = { null } fun (@TypeAnn A).extFun(@Ann a: @TypeAnn A): @TypeAnn A? = null diff --git a/compiler/testData/diagnostics/tests/functionAsExpression/FunctionType.fir.kt b/compiler/testData/diagnostics/tests/functionAsExpression/FunctionType.fir.kt index 024b43fa227..fc7b37c9001 100644 --- a/compiler/testData/diagnostics/tests/functionAsExpression/FunctionType.fir.kt +++ b/compiler/testData/diagnostics/tests/functionAsExpression/FunctionType.fir.kt @@ -27,5 +27,5 @@ fun testReceiverType() { val bas: String.() -> Unit = fun String.() {} - val bag: Int.() -> Unit = fun String.() {} -} \ No newline at end of file + val bag: Int.() -> Unit = fun String.() {} +} diff --git a/compiler/testData/diagnostics/tests/functionLiterals/kt56138.fir.kt b/compiler/testData/diagnostics/tests/functionLiterals/kt56138.fir.kt index 153260195e0..ee3095981e9 100644 --- a/compiler/testData/diagnostics/tests/functionLiterals/kt56138.fir.kt +++ b/compiler/testData/diagnostics/tests/functionLiterals/kt56138.fir.kt @@ -5,9 +5,9 @@ fun takeLambda1(f: String.() -> String) {} fun takeLambda2(f: String.(String) -> String) {} fun test_1() { - val x1: String.(String) -> String = { str, str2 -> "this" } + val x1: String.(String) -> String = { str, str2 -> "this" } val x2: String.() -> String = { it } - val x3: String.() -> String = { x -> "x" } + val x3: String.() -> String = { x -> "x" } } fun test_2() { diff --git a/compiler/testData/diagnostics/tests/functionLiterals/missedTypeMismatch.fir.kt b/compiler/testData/diagnostics/tests/functionLiterals/missedTypeMismatch.fir.kt index 34ea4c2f459..1b8e703f028 100644 --- a/compiler/testData/diagnostics/tests/functionLiterals/missedTypeMismatch.fir.kt +++ b/compiler/testData/diagnostics/tests/functionLiterals/missedTypeMismatch.fir.kt @@ -23,7 +23,7 @@ fun main() { foo(fun(): String = "1") foo(((fun(): String = "1"))) - val a10: Int.(String) -> Int = fun (x: String) = 10 + val a10: Int.(String) -> Int = fun (x: String) = 10 val a11: () -> () -> () -> Int = fun() = fun() = fun(): String = "1" val a12: Int = fun(): String = "1" diff --git a/compiler/testData/diagnostics/tests/inference/completion/postponedArgumentsAnalysis/basic.fir.kt b/compiler/testData/diagnostics/tests/inference/completion/postponedArgumentsAnalysis/basic.fir.kt index 095c5577e58..9d89ed21758 100644 --- a/compiler/testData/diagnostics/tests/inference/completion/postponedArgumentsAnalysis/basic.fir.kt +++ b/compiler/testData/diagnostics/tests/inference/completion/postponedArgumentsAnalysis/basic.fir.kt @@ -153,7 +153,7 @@ fun main() { // Convert to extension lambda is impossible because the lambda parameter types aren't specified explicitly select(id(fun String.(x: String) {}), id(fun(x: String, y: String) { }), { x, y -> x }) select(id(id(fun(x: String, y: String) { }), fun String.(x: String) {}), { x, y -> x }) - val x26: Int.(String) -> Int = fun (x: String) = 10 // it must be error, see KT-38439 + val x26: Int.(String) -> Int = fun (x: String) = 10 // it must be error, see KT-38439 // Receiver must be specified in anonymous function declaration val x27: Int.(String) -> Int = id(fun (x: String) = 10) select(id Unit> {}, { x: Int, y: String -> x }) diff --git a/compiler/testData/diagnostics/tests/inference/lambdaInValInitializerWithAnonymousFunctions.fir.kt b/compiler/testData/diagnostics/tests/inference/lambdaInValInitializerWithAnonymousFunctions.fir.kt index 909e3f41bed..5a2ef9e81ce 100644 --- a/compiler/testData/diagnostics/tests/inference/lambdaInValInitializerWithAnonymousFunctions.fir.kt +++ b/compiler/testData/diagnostics/tests/inference/lambdaInValInitializerWithAnonymousFunctions.fir.kt @@ -5,5 +5,5 @@ val test2f: suspend Any.() -> Unit = fun Any.() {} // This is a bug in the old inference and should be fixed in new inference // see "Fix anonymous function literals handling in type checker" for more details -val test3f: suspend Any.(Int) -> Int = fun (k: Int) = k + 1 -val test4f: SuspendFn = fun Any.() {} +val test3f: suspend Any.(Int) -> Int = fun (k: Int) = k + 1 +val test4f: SuspendFn = fun Any.() {} diff --git a/compiler/testData/diagnostics/tests/when/kt47922.fir.kt b/compiler/testData/diagnostics/tests/when/kt47922.fir.kt index 40feeeaf694..aa1e2f66035 100644 --- a/compiler/testData/diagnostics/tests/when/kt47922.fir.kt +++ b/compiler/testData/diagnostics/tests/when/kt47922.fir.kt @@ -12,10 +12,10 @@ abstract class NonSealedBase { sealed class ToState -val sealedTest: SealedBase.() -> ToState? = { +val sealedTest: SealedBase.() -> ToState? = { when(this) {} -} +} -val nonSealedTest: NonSealedBase.() -> ToState? = { +val nonSealedTest: NonSealedBase.() -> ToState? = { when(this) {} -} +}