From 758eb8f8512e58d42fdbd6cb216e4e7598a96d96 Mon Sep 17 00:00:00 2001 From: Victor Petukhov Date: Mon, 24 May 2021 15:02:08 +0300 Subject: [PATCH] Fix builder inference tests --- .../problems/KtFirCompositeScope.fir.txt | 2 +- .../builderInference/capturedTypes.kt | 1 + .../builderInference/commonSuperType.kt | 2 + .../commonSuperTypeContravariant.kt | 1 + .../commonSuperTypeCovariant.kt | 3 + .../commonSuperTypeInvariant.kt | 1 + .../commonSuperTypeNullable.kt | 3 + .../inference/builderInference/intersect.kt | 3 + .../box/inference/builderInference/kt41164.kt | 1 + .../inference/builderInference/labaledCall.kt | 1 + .../lackOfNullCheckOnNullableInsideBuild.kt | 1 + .../inference/builderInference/memberScope.kt | 3 +- .../inference/builderInference/nullability.kt | 2 + ...nferenceSessionIntoDeclarationAnalyzers.kt | 1 + ...eReferencesDontCareTypeInBlockExression.kt | 3 + ...ithCallableReferencesDontRewriteAtSlice.kt | 1 + ...llableReferencesNonStrictOnlyInputTypes.kt | 55 +--- .../builderInference/withExpectedType.kt | 2 + .../builderInferenceLeakingVariable.kt | 1 - .../constraints/violating.fir.kt | 6 +- .../builderInference/labaledCall.fir.kt | 21 -- .../inference/builderInference/labaledCall.kt | 1 + .../specialCallsWithCallableReferences.fir.kt | 20 +- ...erencesDontCareTypeInBlockExression.fir.kt | 10 +- ...allsWithCallableReferencesErrorType.fir.kt | 2 +- ...ableReferencesErrorTypeUnrestricted.fir.kt | 14 +- ...sWithCallableReferencesUnrestricted.fir.kt | 20 +- .../stubTypes/commonSuperType.fir.fail | 267 ++++++++++++++++ .../commonSuperTypeContravariant.fir.kt | 34 +-- .../commonSuperTypeCovariant.fir.fail | 287 ++++++++++++++++++ .../stubTypes/commonSuperTypeInvariant.fir.kt | 36 +-- .../commonSuperTypeNullable.fir.fail | 253 +++++++++++++++ .../stubTypes/intersect.fir.fail | 257 ++++++++++++++++ .../stubTypes/memberScope.fir.kt | 52 ++-- .../stubTypes/nullability.fir.kt | 34 +-- ...cTypeForArgumentCallWithExactAnnotation.kt | 2 +- .../postponedCompletionWithExactAnnotation.kt | 2 +- ...ithBuilderInferenceWithRestrictions.fir.kt | 2 +- .../coroutines/inference/kt33542.fir.kt | 2 +- .../restrictSuspension/outerYield_1_3.fir.kt | 4 +- .../IrJsCodegenBoxES6TestGenerated.java | 20 -- .../IrJsCodegenBoxTestGenerated.java | 20 -- .../semantics/JsCodegenBoxTestGenerated.java | 20 -- .../IrCodegenBoxWasmTestGenerated.java | 80 ----- .../InnerNonFixedTypeVariable.types.txt | 4 +- .../tests/KotlinUastResolveApiTest.kt | 2 +- 46 files changed, 1233 insertions(+), 326 deletions(-) delete mode 100644 compiler/testData/diagnostics/tests/inference/builderInference/labaledCall.fir.kt create mode 100644 compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperType.fir.fail create mode 100644 compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeCovariant.fir.fail create mode 100644 compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeNullable.fir.fail create mode 100644 compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/intersect.fir.fail diff --git a/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/KtFirCompositeScope.fir.txt b/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/KtFirCompositeScope.fir.txt index a8a32925ec9..ccfb90227b4 100644 --- a/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/KtFirCompositeScope.fir.txt +++ b/compiler/fir/analysis-tests/testData/resolveWithStdlib/problems/KtFirCompositeScope.fir.txt @@ -20,7 +20,7 @@ FILE: KtFirCompositeScope.kt public final fun getAllNames(): R|kotlin/collections/Set| { ^getAllNames R|/withValidityAssertion||>( = withValidityAssertion@fun (): R|kotlin/collections/Set| { ^ R|/buildSet|( = buildSet@fun R|kotlin/collections/MutableSet|.(): R|kotlin/Unit| { - this@R|/KtFirCompositeScope|.R|/KtFirCompositeScope.subScopes|.R|kotlin/collections/flatMapTo||>(this@R|special/anonymous|, = flatMapTo@fun (it: R|KtScope|): R|kotlin/collections/Iterable| { + this@R|/KtFirCompositeScope|.R|/KtFirCompositeScope.subScopes|.R|kotlin/collections/flatMapTo||>(this@R|special/anonymous|, = flatMapTo@fun (it: R|KtScope|): R|kotlin/collections/Iterable| { ^ R|/it|.R|/KtScope.getAllNames|() } ) diff --git a/compiler/testData/codegen/box/inference/builderInference/capturedTypes.kt b/compiler/testData/codegen/box/inference/builderInference/capturedTypes.kt index 18303f73329..4f8bd1625be 100644 --- a/compiler/testData/codegen/box/inference/builderInference/capturedTypes.kt +++ b/compiler/testData/codegen/box/inference/builderInference/capturedTypes.kt @@ -1,5 +1,6 @@ // !LANGUAGE: +UnrestrictedBuilderInference // WITH_RUNTIME +// DONT_TARGET_EXACT_BACKEND: WASM // FILE: main.kt import kotlin.experimental.ExperimentalTypeInference diff --git a/compiler/testData/codegen/box/inference/builderInference/commonSuperType.kt b/compiler/testData/codegen/box/inference/builderInference/commonSuperType.kt index 6f46df75e6a..642f1e3e905 100644 --- a/compiler/testData/codegen/box/inference/builderInference/commonSuperType.kt +++ b/compiler/testData/codegen/box/inference/builderInference/commonSuperType.kt @@ -1,6 +1,8 @@ // !LANGUAGE: +UnrestrictedBuilderInference // !DIAGNOSTICS: -UNUSED_PARAMETER -DEPRECATION -EXPERIMENTAL_IS_NOT_ENABLED -UNUSED_VARIABLE // WITH_RUNTIME +// TARGET_BACKEND: JVM +// IGNORE_BACKEND_FIR: JVM_IR // FILE: Test.java diff --git a/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeContravariant.kt b/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeContravariant.kt index d57bf59afeb..4f0c88a7dce 100644 --- a/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeContravariant.kt +++ b/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeContravariant.kt @@ -1,5 +1,6 @@ // !LANGUAGE: +UnrestrictedBuilderInference // WITH_RUNTIME +// DONT_TARGET_EXACT_BACKEND: WASM // FILE: Test.java diff --git a/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeCovariant.kt b/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeCovariant.kt index 8759fc0446a..69845cbed84 100644 --- a/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeCovariant.kt +++ b/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeCovariant.kt @@ -1,6 +1,9 @@ // !LANGUAGE: +UnrestrictedBuilderInference // !DIAGNOSTICS: -UNUSED_PARAMETER -DEPRECATION -EXPERIMENTAL_IS_NOT_ENABLED -UNUSED_VARIABLE // WITH_RUNTIME +// TARGET_BACKEND: JVM +// IGNORE_BACKEND_FIR: JVM_IR +// DONT_TARGET_EXACT_BACKEND: WASM // FILE: Test.java diff --git a/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeInvariant.kt b/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeInvariant.kt index 4e5f14c6d56..59029971c3b 100644 --- a/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeInvariant.kt +++ b/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeInvariant.kt @@ -1,6 +1,7 @@ // !LANGUAGE: +UnrestrictedBuilderInference // !DIAGNOSTICS: -UNUSED_PARAMETER -DEPRECATION -EXPERIMENTAL_IS_NOT_ENABLED -UNUSED_VARIABLE // WITH_RUNTIME +// DONT_TARGET_EXACT_BACKEND: WASM // FILE: Test.java diff --git a/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeNullable.kt b/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeNullable.kt index 000f2160650..85f4850dce7 100644 --- a/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeNullable.kt +++ b/compiler/testData/codegen/box/inference/builderInference/commonSuperTypeNullable.kt @@ -1,6 +1,9 @@ // !LANGUAGE: +UnrestrictedBuilderInference // !DIAGNOSTICS: -UNUSED_PARAMETER -DEPRECATION -EXPERIMENTAL_IS_NOT_ENABLED -UNUSED_VARIABLE // WITH_RUNTIME +// TARGET_BACKEND: JVM +// IGNORE_BACKEND_FIR: JVM_IR +// DONT_TARGET_EXACT_BACKEND: WASM // FILE: Test.java diff --git a/compiler/testData/codegen/box/inference/builderInference/intersect.kt b/compiler/testData/codegen/box/inference/builderInference/intersect.kt index 71249aa8613..c31e84ee621 100644 --- a/compiler/testData/codegen/box/inference/builderInference/intersect.kt +++ b/compiler/testData/codegen/box/inference/builderInference/intersect.kt @@ -1,5 +1,8 @@ // !LANGUAGE: +UnrestrictedBuilderInference // WITH_RUNTIME +// TARGET_BACKEND: JVM +// IGNORE_BACKEND_FIR: JVM_IR +// DONT_TARGET_EXACT_BACKEND: WASM // FILE: Test.java diff --git a/compiler/testData/codegen/box/inference/builderInference/kt41164.kt b/compiler/testData/codegen/box/inference/builderInference/kt41164.kt index a726b65a6e8..d4a4ba991f0 100644 --- a/compiler/testData/codegen/box/inference/builderInference/kt41164.kt +++ b/compiler/testData/codegen/box/inference/builderInference/kt41164.kt @@ -1,6 +1,7 @@ // ISSUE: KT-41164 // WITH_RUNTIME // IGNORE_BACKEND_FIR: JVM_IR +// DONT_TARGET_EXACT_BACKEND: WASM import kotlin.experimental.ExperimentalTypeInference diff --git a/compiler/testData/codegen/box/inference/builderInference/labaledCall.kt b/compiler/testData/codegen/box/inference/builderInference/labaledCall.kt index 62f2664e5f3..fe547aef1c4 100644 --- a/compiler/testData/codegen/box/inference/builderInference/labaledCall.kt +++ b/compiler/testData/codegen/box/inference/builderInference/labaledCall.kt @@ -1,5 +1,6 @@ // !DIAGNOSTICS: -UNUSED_PARAMETER -DEPRECATION -UNCHECKED_CAST -EXPERIMENTAL_IS_NOT_ENABLED -UNUSED_VARIABLE // WITH_RUNTIME +// DONT_TARGET_EXACT_BACKEND: WASM // FILE: main.kt import kotlin.experimental.ExperimentalTypeInference diff --git a/compiler/testData/codegen/box/inference/builderInference/lackOfNullCheckOnNullableInsideBuild.kt b/compiler/testData/codegen/box/inference/builderInference/lackOfNullCheckOnNullableInsideBuild.kt index 6dc61506d08..94050e930c8 100644 --- a/compiler/testData/codegen/box/inference/builderInference/lackOfNullCheckOnNullableInsideBuild.kt +++ b/compiler/testData/codegen/box/inference/builderInference/lackOfNullCheckOnNullableInsideBuild.kt @@ -1,5 +1,6 @@ // !LANGUAGE: +NewInference // WITH_RUNTIME +// DONT_TARGET_EXACT_BACKEND: WASM // Issue: KT-36371 import kotlin.experimental.ExperimentalTypeInference diff --git a/compiler/testData/codegen/box/inference/builderInference/memberScope.kt b/compiler/testData/codegen/box/inference/builderInference/memberScope.kt index c79e6c01900..2fc919f1c77 100644 --- a/compiler/testData/codegen/box/inference/builderInference/memberScope.kt +++ b/compiler/testData/codegen/box/inference/builderInference/memberScope.kt @@ -1,8 +1,9 @@ // !LANGUAGE: +UnrestrictedBuilderInference // !DIAGNOSTICS: -DEPRECATION -EXPERIMENTAL_IS_NOT_ENABLED // WITH_RUNTIME +// IGNORE_BACKEND_FIR: JVM_IR +// DONT_TARGET_EXACT_BACKEND: WASM -// FILE: main.kt import kotlin.experimental.ExperimentalTypeInference interface TestInterface { diff --git a/compiler/testData/codegen/box/inference/builderInference/nullability.kt b/compiler/testData/codegen/box/inference/builderInference/nullability.kt index f746939d9ca..34ab054fb81 100644 --- a/compiler/testData/codegen/box/inference/builderInference/nullability.kt +++ b/compiler/testData/codegen/box/inference/builderInference/nullability.kt @@ -1,6 +1,8 @@ // !LANGUAGE: +UnrestrictedBuilderInference // !DIAGNOSTICS: -DEPRECATION -EXPERIMENTAL_IS_NOT_ENABLED // WITH_RUNTIME +// IGNORE_BACKEND_FIR: JVM_IR +// DONT_TARGET_EXACT_BACKEND: WASM // FILE: main.kt import kotlin.experimental.ExperimentalTypeInference diff --git a/compiler/testData/codegen/box/inference/builderInference/propagateInferenceSessionIntoDeclarationAnalyzers.kt b/compiler/testData/codegen/box/inference/builderInference/propagateInferenceSessionIntoDeclarationAnalyzers.kt index f6b867db2ba..9be5a6ca476 100644 --- a/compiler/testData/codegen/box/inference/builderInference/propagateInferenceSessionIntoDeclarationAnalyzers.kt +++ b/compiler/testData/codegen/box/inference/builderInference/propagateInferenceSessionIntoDeclarationAnalyzers.kt @@ -1,4 +1,5 @@ // WITH_RUNTIME +// DONT_TARGET_EXACT_BACKEND: WASM import kotlin.experimental.ExperimentalTypeInference diff --git a/compiler/testData/codegen/box/inference/builderInference/specialCallsWithCallableReferencesDontCareTypeInBlockExression.kt b/compiler/testData/codegen/box/inference/builderInference/specialCallsWithCallableReferencesDontCareTypeInBlockExression.kt index 419edc67b68..8039c9cc7f7 100644 --- a/compiler/testData/codegen/box/inference/builderInference/specialCallsWithCallableReferencesDontCareTypeInBlockExression.kt +++ b/compiler/testData/codegen/box/inference/builderInference/specialCallsWithCallableReferencesDontCareTypeInBlockExression.kt @@ -1,6 +1,9 @@ // !LANGUAGE: +UnrestrictedBuilderInference // WITH_RUNTIME // SKIP_TXT +// DONT_TARGET_EXACT_BACKEND: WASM +// IGNORE_LIGHT_ANALYSIS +// IGNORE_BACKEND: JVM import kotlin.experimental.ExperimentalTypeInference diff --git a/compiler/testData/codegen/box/inference/builderInference/specialCallsWithCallableReferencesDontRewriteAtSlice.kt b/compiler/testData/codegen/box/inference/builderInference/specialCallsWithCallableReferencesDontRewriteAtSlice.kt index 68504986750..cd4a2e8735e 100644 --- a/compiler/testData/codegen/box/inference/builderInference/specialCallsWithCallableReferencesDontRewriteAtSlice.kt +++ b/compiler/testData/codegen/box/inference/builderInference/specialCallsWithCallableReferencesDontRewriteAtSlice.kt @@ -1,6 +1,7 @@ // WITH_RUNTIME // SKIP_TXT // !DIAGNOSTICS: -CAST_NEVER_SUCCEEDS -UNCHECKED_CAST -UNUSED_PARAMETER -UNUSED_VARIABLE -EXPERIMENTAL_API_USAGE_ERROR -UNUSED_EXPRESSION +// DONT_TARGET_EXACT_BACKEND: WASM import kotlin.experimental.ExperimentalTypeInference diff --git a/compiler/testData/codegen/box/inference/builderInference/specialCallsWithCallableReferencesNonStrictOnlyInputTypes.kt b/compiler/testData/codegen/box/inference/builderInference/specialCallsWithCallableReferencesNonStrictOnlyInputTypes.kt index 64e455093ff..c66a1aa5b24 100644 --- a/compiler/testData/codegen/box/inference/builderInference/specialCallsWithCallableReferencesNonStrictOnlyInputTypes.kt +++ b/compiler/testData/codegen/box/inference/builderInference/specialCallsWithCallableReferencesNonStrictOnlyInputTypes.kt @@ -1,47 +1,24 @@ +// IGNORE_BACKEND_FIR: JVM_IR +// !LANGUAGE: +NewInference // WITH_RUNTIME -// DONT_TARGET_EXACT_BACKEND: WASM -// !LANGUAGE: -StrictOnlyInputTypesChecks import kotlin.experimental.ExperimentalTypeInference -fun FlowCollector.bar(): K = null as K -fun FlowCollector.foo(): K = null as K -fun bar2(): Int = 1 -fun foo2(): Float = 1f - -val bar4: Int - get() = 1 - -var foo4: Float - get() = 1f - set(value) {} - -fun materialize() = null as T - -interface FlowCollector {} - -@Suppress("EXPERIMENTAL_API_USAGE_ERROR") -fun flow(@BuilderInference block: suspend FlowCollector.() -> Unit) = Flow(block) - -class Flow(private val block: suspend FlowCollector.() -> Unit) - -fun poll81(): Flow { - return flow { - val inv = ::bar2 in setOf(::foo2) - inv +@OptIn(ExperimentalTypeInference::class) +fun scopedFlow(@BuilderInference block: suspend CoroutineScope.(FlowCollector) -> Unit): Flow = + flow { + val collector = this + flowScope { block(collector) } } -} -fun poll83(): Flow { - return flow { - val inv = ::bar4 in setOf(::foo4) - inv - } -} +@OptIn(ExperimentalTypeInference::class) +fun flow(@BuilderInference block: suspend FlowCollector.() -> Unit): Flow = TODO() -fun box(): String { - poll81() - poll83() - return "OK" -} \ No newline at end of file +@OptIn(ExperimentalTypeInference::class) +fun flowScope(@BuilderInference block: suspend CoroutineScope.() -> R): R = TODO() + +interface CoroutineScope +interface Flow + +interface FlowCollector diff --git a/compiler/testData/codegen/box/inference/builderInference/withExpectedType.kt b/compiler/testData/codegen/box/inference/builderInference/withExpectedType.kt index 8014c2d9cdd..7138a4d6011 100644 --- a/compiler/testData/codegen/box/inference/builderInference/withExpectedType.kt +++ b/compiler/testData/codegen/box/inference/builderInference/withExpectedType.kt @@ -1,6 +1,8 @@ // !LANGUAGE: +UnrestrictedBuilderInference // WITH_RUNTIME // !DIAGNOSTICS: -EXPERIMENTAL_API_USAGE_ERROR -CAST_NEVER_SUCCEEDS +// IGNORE_BACKEND_FIR: JVM_IR +// DONT_TARGET_EXACT_BACKEND: WASM import kotlin.experimental.ExperimentalTypeInference diff --git a/compiler/testData/codegen/box/inference/builderInferenceLeakingVariable.kt b/compiler/testData/codegen/box/inference/builderInferenceLeakingVariable.kt index 2a2b717f157..602d3445691 100644 --- a/compiler/testData/codegen/box/inference/builderInferenceLeakingVariable.kt +++ b/compiler/testData/codegen/box/inference/builderInferenceLeakingVariable.kt @@ -3,7 +3,6 @@ // Issues: KT-33542, KT-33544 // WITH_RUNTIME // KJS_WITH_FULL_RUNTIME -// IGNORE_BACKEND_FIR: JVM_IR // !LANGUAGE: +NewInference import kotlin.experimental.ExperimentalTypeInference diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/constraints/violating.fir.kt b/compiler/testData/diagnostics/tests/inference/builderInference/constraints/violating.fir.kt index 44057f699b0..f6731acebde 100644 --- a/compiler/testData/diagnostics/tests/inference/builderInference/constraints/violating.fir.kt +++ b/compiler/testData/diagnostics/tests/inference/builderInference/constraints/violating.fir.kt @@ -15,7 +15,7 @@ fun main() { } buildList { add(3) - val x: String = get(0) + val x: String = get(0) } buildList { add("3") @@ -28,6 +28,6 @@ fun main() { } buildList { add("") - val x: StringBuilder = get(0) + val x: StringBuilder = get(0) } -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/labaledCall.fir.kt b/compiler/testData/diagnostics/tests/inference/builderInference/labaledCall.fir.kt deleted file mode 100644 index 2b6b82d00a7..00000000000 --- a/compiler/testData/diagnostics/tests/inference/builderInference/labaledCall.fir.kt +++ /dev/null @@ -1,21 +0,0 @@ -// !DIAGNOSTICS: -UNUSED_PARAMETER -DEPRECATION -UNCHECKED_CAST -EXPERIMENTAL_IS_NOT_ENABLED -UNUSED_VARIABLE -// WITH_RUNTIME - -// FILE: main.kt -import kotlin.experimental.ExperimentalTypeInference - -@UseExperimental(ExperimentalTypeInference::class) -fun build(@BuilderInference block: TestInterface.() -> Unit): R = TODO() - -interface TestInterface { - fun emit(r: R) - fun get(): R -} - -fun main() { - build myLabel@ { - emit("") - val x = this@myLabel - "" - } -} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/labaledCall.kt b/compiler/testData/diagnostics/tests/inference/builderInference/labaledCall.kt index 2b6b82d00a7..b4f6c80e94a 100644 --- a/compiler/testData/diagnostics/tests/inference/builderInference/labaledCall.kt +++ b/compiler/testData/diagnostics/tests/inference/builderInference/labaledCall.kt @@ -1,3 +1,4 @@ +// FIR_IDENTICAL // !DIAGNOSTICS: -UNUSED_PARAMETER -DEPRECATION -UNCHECKED_CAST -EXPERIMENTAL_IS_NOT_ENABLED -UNUSED_VARIABLE // WITH_RUNTIME diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferences.fir.kt b/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferences.fir.kt index d0cb9901101..d90672d0e73 100644 --- a/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferences.fir.kt +++ b/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferences.fir.kt @@ -388,49 +388,49 @@ fun poll66(): Flow { fun poll7(): Flow { return flow { - val inv = ::bar!! + val inv = ::bar!! inv() } } fun poll71(): Flow { return flow { - val inv = ::bar2!! + val inv = ::bar2!! inv() } } fun poll72(): Flow { return flow { - val inv = ::bar3!! + val inv = ::bar3!! inv() } } fun poll73(): Flow { return flow { - val inv = ::bar4!! + val inv = ::bar4!! inv } } fun poll74(): Flow { return flow { - val inv = ::bar5!! + val inv = ::bar5!! inv } } fun poll75(): Flow { return flow { - val inv = ::Foo6!! + val inv = ::Foo6!! inv } } fun poll76(): Flow { return flow { - val inv = ::Foo7!! + val inv = ::Foo7!! inv } } @@ -438,21 +438,21 @@ fun poll76(): Flow { fun poll8(): Flow { return flow { val inv = ::bar in setOf(::foo) - inv() + inv() } } fun poll81(): Flow { return flow { val inv = ::bar2 in setOf(::foo2) - inv() + inv() } } fun poll82(): Flow { return flow { val inv = ::bar3 in setOf(::foo3) - inv() + inv() } } diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesDontCareTypeInBlockExression.fir.kt b/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesDontCareTypeInBlockExression.fir.kt index 795693120f3..d9ee4434f1d 100644 --- a/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesDontCareTypeInBlockExression.fir.kt +++ b/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesDontCareTypeInBlockExression.fir.kt @@ -72,7 +72,7 @@ fun poll14(flag: Boolean): Flow { fun poll15(flag: Boolean): Flow { return flow { val inv = if (flag) { ::bar5 } else { ::foo5 } - inv() + inv() } } @@ -93,7 +93,7 @@ fun poll17(flag: Boolean): Flow { fun poll4(): Flow { return flow { val inv = try { ::bar } finally { ::foo } - inv() + inv() } } @@ -121,7 +121,7 @@ fun poll43(): Flow { fun poll44(): Flow { return flow { val inv = try { ::bar5 } finally { ::foo5 } - inv() + inv() } } @@ -142,7 +142,7 @@ fun poll46(): Flow { fun poll5(): Flow { return flow { val inv = try { ::bar } catch (e: Exception) { ::foo } finally { ::foo } - inv() + inv() } } @@ -170,7 +170,7 @@ fun poll53(): Flow { fun poll54(): Flow { return flow { val inv = try { ::bar5 } catch (e: Exception) { ::foo5 } finally { ::foo5 } - inv() + inv() } } diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesErrorType.fir.kt b/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesErrorType.fir.kt index 2ab1539f80d..eed0bcc3bb1 100644 --- a/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesErrorType.fir.kt +++ b/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesErrorType.fir.kt @@ -38,7 +38,7 @@ class Flow(private val block: suspend FlowCollector.() -> Unit) fun poll7(): Flow { return flow { val inv = ::bar!! - inv() + inv() } } diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesErrorTypeUnrestricted.fir.kt b/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesErrorTypeUnrestricted.fir.kt index fdf85f02978..fbcb5263855 100644 --- a/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesErrorTypeUnrestricted.fir.kt +++ b/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesErrorTypeUnrestricted.fir.kt @@ -38,49 +38,49 @@ class Flow(private val block: suspend FlowCollector.() -> Unit) fun poll7(): Flow { return flow { - val inv = ::bar!! + val inv = ::bar!! inv() } } fun poll71(): Flow { return flow { - val inv = ::bar2!! + val inv = ::bar2!! inv() } } fun poll72(): Flow { return flow { - val inv = ::bar3!! + val inv = ::bar3!! inv() } } fun poll73(): Flow { return flow { - val inv = ::bar4!! + val inv = ::bar4!! inv } } fun poll74(): Flow { return flow { - val inv = ::bar5!! + val inv = ::bar5!! inv } } fun poll75(): Flow { return flow { - val inv = ::Foo6!! + val inv = ::Foo6!! inv } } fun poll76(): Flow { return flow { - val inv = ::Foo7!! + val inv = ::Foo7!! inv } } diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesUnrestricted.fir.kt b/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesUnrestricted.fir.kt index 2ee2e8f4e6e..27659dfcf19 100644 --- a/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesUnrestricted.fir.kt +++ b/compiler/testData/diagnostics/tests/inference/builderInference/specialCallsWithCallableReferencesUnrestricted.fir.kt @@ -389,49 +389,49 @@ fun poll66(): Flow { fun poll7(): Flow { return flow { - val inv = ::bar!! + val inv = ::bar!! inv() } } fun poll71(): Flow { return flow { - val inv = ::bar2!! + val inv = ::bar2!! inv() } } fun poll72(): Flow { return flow { - val inv = ::bar3!! + val inv = ::bar3!! inv() } } fun poll73(): Flow { return flow { - val inv = ::bar4!! + val inv = ::bar4!! inv } } fun poll74(): Flow { return flow { - val inv = ::bar5!! + val inv = ::bar5!! inv } } fun poll75(): Flow { return flow { - val inv = ::Foo6!! + val inv = ::Foo6!! inv } } fun poll76(): Flow { return flow { - val inv = ::Foo7!! + val inv = ::Foo7!! inv } } @@ -439,21 +439,21 @@ fun poll76(): Flow { fun poll8(): Flow { return flow { val inv = ::bar in setOf(::foo) - inv() + inv() } } fun poll81(): Flow { return flow { val inv = ::bar2 in setOf(::foo2) - inv() + inv() } } fun poll82(): Flow { return flow { val inv = ::bar3 in setOf(::foo3) - inv() + inv() } } diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperType.fir.fail b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperType.fir.fail new file mode 100644 index 00000000000..4753a9b2ba9 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperType.fir.fail @@ -0,0 +1,267 @@ +While resolving call R?C|/build|( = build@fun R|TestInterface|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(String(1)) + Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()) + Q|Test|.R|/Test.foo|, Inv?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()) + R|/id|(this@R|special/anonymous|.R|SubstitutionOverride|()) + R|/select|(vararg(this@R|special/anonymous|.R|SubstitutionOverride|(), this@R|special/anonymous|.R|SubstitutionOverride|())) + R|/select||>(vararg(Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()), Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()))) + R?C|/select|(Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()), this@R|special/anonymous|.R|SubstitutionOverride|()) + select#(getInv#(), getInv#()) + select#(Test#.foo#(getInv#()), Test#.foo#(getInv#())) + select#(Test#.foo#(getInv#()), getInv#()) + select#(getInv#(), Test#.foo#(getInv#())) + select#(id#(get#()), id#(get#())) + build2#( = build2@fun .(): { + emit#(IntegerLiteral(1)) + select#(this@build#.get#(), get#()) + select#(Test#.foo#(this@build#.get#()), Test#.foo#(get#())) + select#(this@build#.getInv#(), getInv#()) + select#(Test#.foo#(this@build#.getInv#()), Test#.foo#(getInv#())) + select#(Test#.foo#(this@build#.getInv#()), getInv#()) + select#(id#(this@build#.get#()), id#(get#())) + String() + } + ) + String() +} +) +java.lang.RuntimeException: While resolving call R?C|/build|( = build@fun R|TestInterface|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(String(1)) + Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()) + Q|Test|.R|/Test.foo|, Inv?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()) + R|/id|(this@R|special/anonymous|.R|SubstitutionOverride|()) + R|/select|(vararg(this@R|special/anonymous|.R|SubstitutionOverride|(), this@R|special/anonymous|.R|SubstitutionOverride|())) + R|/select||>(vararg(Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()), Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()))) + R?C|/select|(Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()), this@R|special/anonymous|.R|SubstitutionOverride|()) + select#(getInv#(), getInv#()) + select#(Test#.foo#(getInv#()), Test#.foo#(getInv#())) + select#(Test#.foo#(getInv#()), getInv#()) + select#(getInv#(), Test#.foo#(getInv#())) + select#(id#(get#()), id#(get#())) + build2#( = build2@fun .(): { + emit#(IntegerLiteral(1)) + select#(this@build#.get#(), get#()) + select#(Test#.foo#(this@build#.get#()), Test#.foo#(get#())) + select#(this@build#.getInv#(), getInv#()) + select#(Test#.foo#(this@build#.getInv#()), Test#.foo#(getInv#())) + select#(Test#.foo#(this@build#.getInv#()), getInv#()) + select#(id#(this@build#.get#()), id#(get#())) + String() + } + ) + String() +} +) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:298) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:107) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:37) + at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:104) + at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:34) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformLocalVariable(FirDeclarationsResolveTransformer.kt:276) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformProperty(FirDeclarationsResolveTransformer.kt:119) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformProperty(FirBodyResolveTransformer.kt:259) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformProperty(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirProperty.transform(FirProperty.kt:58) + at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:134) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28) + at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformBody(FirSimpleFunctionImpl.kt:99) + at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:75) + at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:33) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:490) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:41) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:479) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:477) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.forFunctionBody(BodyResolveContext.kt:896) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformSimpleFunction(FirDeclarationsResolveTransformer.kt:477) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:281) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirSimpleFunction.transform(FirSimpleFunction.kt:52) + at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformInplace(FirTransformerUtil.kt:19) + at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformDeclarations(FirFileImpl.kt:61) + at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:46) + at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:25) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:54) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:37) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:23) + at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37) + at org.jetbrains.kotlin.fir.resolve.transformers.FirTransformerBasedResolveProcessor.processFile(FirResolveProcessor.kt:29) + at org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveProcessor.process(FirTotalResolveProcessor.kt:23) + at org.jetbrains.kotlin.fir.analysis.FirAnalyzerFacade.runResolution(FirAnalyzerFacade.kt:69) + at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:75) + at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:26) + at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:36) + at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:25) + at org.jetbrains.kotlin.test.TestRunner.processModule(TestRunner.kt:125) + at org.jetbrains.kotlin.test.TestRunner.runTestImpl(TestRunner.kt:66) + at org.jetbrains.kotlin.test.TestRunner.runTest(TestRunner.kt:20) + at org.jetbrains.kotlin.test.TestRunner.runTest$default(TestRunner.kt:18) + at org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest.runTest(AbstractKotlinCompilerTest.kt:80) + at org.jetbrains.kotlin.test.runners.FirOldFrontendDiagnosticsTestGenerated$Tests$Inference$BuilderInference$StubTypes.testCommonSuperType(FirOldFrontendDiagnosticsTestGenerated.java:12699) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:129) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) + at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) + at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) + at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) + at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) +Caused by: java.lang.RuntimeException: While resolving call R?C|/select|(Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()), this@R|special/anonymous|.R|SubstitutionOverride|()) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:298) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:107) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:37) + at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:134) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28) + at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformBody(FirAnonymousFunctionImpl.kt:102) + at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformChildren(FirAnonymousFunctionImpl.kt:74) + at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformChildren(FirAnonymousFunctionImpl.kt:31) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousFunctionWithLambdaResolution(FirDeclarationsResolveTransformer.kt:430) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformAnonymousFunctionWithLambdaResolution(FirDeclarationsResolveTransformer.kt:41) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformAnonymousFunction$3.invoke(FirDeclarationsResolveTransformer.kt:638) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformAnonymousFunction$3.invoke(FirDeclarationsResolveTransformer.kt:636) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.withAnonymousFunction(BodyResolveContext.kt:946) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousFunction(FirDeclarationsResolveTransformer.kt:636) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformAnonymousFunction(FirBodyResolveTransformer.kt:306) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformAnonymousFunction(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction.transform(FirAnonymousFunction.kt:50) + at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformSingle(FirTransformerUtil.kt:12) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments(FirCallCompleter.kt:239) + at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyzeLambda(PostponedArgumentsAnalyzer.kt:131) + at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyze(PostponedArgumentsAnalyzer.kt:59) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:125) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:124) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.analyzeArgumentWithFixedParameterTypes(ConstraintSystemCompleter.kt:131) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:48) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete$default(ConstraintSystemCompleter.kt:31) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.runCompletionForCall(FirCallCompleter.kt:118) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.completeCall(FirCallCompleter.kt:80) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:296) + ... 154 more +Caused by: java.lang.AssertionError: There should be at least one non-stub type to compute common supertype but there are: [Stub: TypeVariable(R), Stub: TypeVariable(R)] + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperTypeForNotNullTypes(NewCommonSuperTypeCalculator.kt:174) + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperTypeForSimpleTypes(NewCommonSuperTypeCalculator.kt:93) + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperType(NewCommonSuperTypeCalculator.kt:53) + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperType(NewCommonSuperTypeCalculator.kt:18) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.computeCommonSuperType(ResultTypeResolver.kt:175) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findSubType(ResultTypeResolver.kt:135) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findResultTypeOrNull(ResultTypeResolver.kt:42) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findResultType(ResultTypeResolver.kt:27) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.fixVariable(ConstraintSystemCompleter.kt:322) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.fixVariablesOrReportNotEnoughInformation(ConstraintSystemCompleter.kt:219) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:108) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete$default(ConstraintSystemCompleter.kt:31) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.runCompletionForCall(FirCallCompleter.kt:118) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.completeCall(FirCallCompleter.kt:80) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:296) + ... 191 more + diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeContravariant.fir.kt b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeContravariant.fir.kt index 1495c56ef5c..43a51868894 100644 --- a/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeContravariant.fir.kt +++ b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeContravariant.fir.kt @@ -47,24 +47,24 @@ fun test() { build2 { emit(1) - select1(this@build.get(), getIn()) - select1(get(), Test.foo(this@build.getIn())) - select1(Test.foo(this@build.get()), Test.foo(getIn())) - select1(Test.foo(get()), this@build.getIn()) - select2(this@build.get(), getIn()) - select2(get(), Test.foo(this@build.getIn())) - select2(Test.foo(this@build.get()), Test.foo(getIn())) - select2(Test.foo(get()), this@build.getIn()) - select3(this@build.get(), getIn()) - select3(get(), Test.foo(this@build.getIn())) - select3(Test.foo(this@build.get()), Test.foo(getIn())) - select3(Test.foo(get()), this@build.getIn()) - select4(this@build.get(), getIn()) - select4(get(), Test.foo(this@build.getIn())) - select4(Test.foo(this@build.get()), Test.foo(getIn())) - select4(Test.foo(get()), this@build.getIn()) + select1(this@build.get(), getIn()) + select1(get(), Test.foo(this@build.getIn())) + select1(Test.foo(this@build.get()), Test.foo(getIn())) + select1(Test.foo(get()), this@build.getIn()) + select2(this@build.get(), getIn()) + select2(get(), Test.foo(this@build.getIn())) + select2(Test.foo(this@build.get()), Test.foo(getIn())) + select2(Test.foo(get()), this@build.getIn()) + select3(this@build.get(), getIn()) + select3(get(), Test.foo(this@build.getIn())) + select3(Test.foo(this@build.get()), Test.foo(getIn())) + select3(Test.foo(get()), this@build.getIn()) + select4(this@build.get(), getIn()) + select4(get(), Test.foo(this@build.getIn())) + select4(Test.foo(this@build.get()), Test.foo(getIn())) + select4(Test.foo(get()), this@build.getIn()) - select4(id(Test.foo(this@build.get())), getIn()) + select4(id(Test.foo(this@build.get())), getIn()) "" } "" diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeCovariant.fir.fail b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeCovariant.fir.fail new file mode 100644 index 00000000000..6cd6303c951 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeCovariant.fir.fail @@ -0,0 +1,287 @@ + +While resolving call R?C|/build|( = build@fun R|TestInterface|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(String(1)) + R|/select1|(this@R|special/anonymous|.R|SubstitutionOverride|(), this@R|special/anonymous|.R|SubstitutionOverride|>|()) + R|/select1|(this@R|special/anonymous|.R|SubstitutionOverride|(), Q|Test|.R|/Test.foo|, Out?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|())) + R?C|/select1|(Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()), Q|Test|.R|/Test.foo|, Out?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|())) + select1#(Test#.foo#(get#()), getOut#()) + select2#(get#(), getOut#()) + select2#(get#(), Test#.foo#(getOut#())) + select2#(Test#.foo#(get#()), Test#.foo#(getOut#())) + select2#(Test#.foo#(get#()), getOut#()) + select3#(get#(), getOut#()) + select3#(get#(), Test#.foo#(getOut#())) + select3#(Test#.foo#(get#()), Test#.foo#(getOut#())) + select3#(Test#.foo#(get#()), getOut#()) + select4#(get#(), getOut#()) + select4#(get#(), Test#.foo#(getOut#())) + select4#(Test#.foo#(get#()), Test#.foo#(getOut#())) + select4#(Test#.foo#(get#()), getOut#()) + select4#(id#(Test#.foo#(get#())), getOut#()) + build2#( = build2@fun .(): { + emit#(IntegerLiteral(1)) + select1#(this@build#.get#(), getOut#()) + select1#(get#(), Test#.foo#(this@build#.getOut#())) + select1#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#())) + select1#(Test#.foo#(get#()), this@build#.getOut#()) + select2#(this@build#.get#(), getOut#()) + select2#(get#(), Test#.foo#(this@build#.getOut#())) + select2#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#())) + select2#(Test#.foo#(get#()), this@build#.getOut#()) + select3#(this@build#.get#(), getOut#()) + select3#(get#(), Test#.foo#(this@build#.getOut#())) + select3#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#())) + select3#(Test#.foo#(get#()), this@build#.getOut#()) + select4#(this@build#.get#(), getOut#()) + select4#(get#(), Test#.foo#(this@build#.getOut#())) + select4#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#())) + select4#(Test#.foo#(get#()), this@build#.getOut#()) + select4#(id#(Test#.foo#(this@build#.get#())), getOut#()) + String() + } + ) + String() +} +) +java.lang.RuntimeException: While resolving call R?C|/build|( = build@fun R|TestInterface|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(String(1)) + R|/select1|(this@R|special/anonymous|.R|SubstitutionOverride|(), this@R|special/anonymous|.R|SubstitutionOverride|>|()) + R|/select1|(this@R|special/anonymous|.R|SubstitutionOverride|(), Q|Test|.R|/Test.foo|, Out?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|())) + R?C|/select1|(Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()), Q|Test|.R|/Test.foo|, Out?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|())) + select1#(Test#.foo#(get#()), getOut#()) + select2#(get#(), getOut#()) + select2#(get#(), Test#.foo#(getOut#())) + select2#(Test#.foo#(get#()), Test#.foo#(getOut#())) + select2#(Test#.foo#(get#()), getOut#()) + select3#(get#(), getOut#()) + select3#(get#(), Test#.foo#(getOut#())) + select3#(Test#.foo#(get#()), Test#.foo#(getOut#())) + select3#(Test#.foo#(get#()), getOut#()) + select4#(get#(), getOut#()) + select4#(get#(), Test#.foo#(getOut#())) + select4#(Test#.foo#(get#()), Test#.foo#(getOut#())) + select4#(Test#.foo#(get#()), getOut#()) + select4#(id#(Test#.foo#(get#())), getOut#()) + build2#( = build2@fun .(): { + emit#(IntegerLiteral(1)) + select1#(this@build#.get#(), getOut#()) + select1#(get#(), Test#.foo#(this@build#.getOut#())) + select1#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#())) + select1#(Test#.foo#(get#()), this@build#.getOut#()) + select2#(this@build#.get#(), getOut#()) + select2#(get#(), Test#.foo#(this@build#.getOut#())) + select2#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#())) + select2#(Test#.foo#(get#()), this@build#.getOut#()) + select3#(this@build#.get#(), getOut#()) + select3#(get#(), Test#.foo#(this@build#.getOut#())) + select3#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#())) + select3#(Test#.foo#(get#()), this@build#.getOut#()) + select4#(this@build#.get#(), getOut#()) + select4#(get#(), Test#.foo#(this@build#.getOut#())) + select4#(Test#.foo#(this@build#.get#()), Test#.foo#(getOut#())) + select4#(Test#.foo#(get#()), this@build#.getOut#()) + select4#(id#(Test#.foo#(this@build#.get#())), getOut#()) + String() + } + ) + String() +} +) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:298) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:107) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:37) + at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:104) + at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:34) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformLocalVariable(FirDeclarationsResolveTransformer.kt:276) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformProperty(FirDeclarationsResolveTransformer.kt:119) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformProperty(FirBodyResolveTransformer.kt:259) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformProperty(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirProperty.transform(FirProperty.kt:58) + at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:134) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28) + at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformBody(FirSimpleFunctionImpl.kt:99) + at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:75) + at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:33) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:490) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:41) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:479) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:477) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.forFunctionBody(BodyResolveContext.kt:896) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformSimpleFunction(FirDeclarationsResolveTransformer.kt:477) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:281) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirSimpleFunction.transform(FirSimpleFunction.kt:52) + at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformInplace(FirTransformerUtil.kt:19) + at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformDeclarations(FirFileImpl.kt:61) + at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:46) + at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:25) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:54) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:37) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:23) + at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37) + at org.jetbrains.kotlin.fir.resolve.transformers.FirTransformerBasedResolveProcessor.processFile(FirResolveProcessor.kt:29) + at org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveProcessor.process(FirTotalResolveProcessor.kt:23) + at org.jetbrains.kotlin.fir.analysis.FirAnalyzerFacade.runResolution(FirAnalyzerFacade.kt:69) + at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:75) + at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:26) + at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:36) + at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:25) + at org.jetbrains.kotlin.test.TestRunner.processModule(TestRunner.kt:125) + at org.jetbrains.kotlin.test.TestRunner.runTestImpl(TestRunner.kt:66) + at org.jetbrains.kotlin.test.TestRunner.runTest(TestRunner.kt:20) + at org.jetbrains.kotlin.test.TestRunner.runTest$default(TestRunner.kt:18) + at org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest.runTest(AbstractKotlinCompilerTest.kt:80) + at org.jetbrains.kotlin.test.runners.FirOldFrontendDiagnosticsTestGenerated$Tests$Inference$BuilderInference$StubTypes.testCommonSuperTypeCovariant(FirOldFrontendDiagnosticsTestGenerated.java:12711) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) + at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) + at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389) + at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) + at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) + at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389) + at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) + at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) + at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389) + at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) + at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) + at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) + at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) + at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) +Caused by: java.lang.RuntimeException: While resolving call R?C|/select1|(Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()), Q|Test|.R|/Test.foo|, Out?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|())) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:298) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:107) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:37) + at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:134) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28) + at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformBody(FirAnonymousFunctionImpl.kt:102) + at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformChildren(FirAnonymousFunctionImpl.kt:74) + at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformChildren(FirAnonymousFunctionImpl.kt:31) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousFunctionWithLambdaResolution(FirDeclarationsResolveTransformer.kt:430) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformAnonymousFunctionWithLambdaResolution(FirDeclarationsResolveTransformer.kt:41) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformAnonymousFunction$3.invoke(FirDeclarationsResolveTransformer.kt:638) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformAnonymousFunction$3.invoke(FirDeclarationsResolveTransformer.kt:636) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.withAnonymousFunction(BodyResolveContext.kt:946) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousFunction(FirDeclarationsResolveTransformer.kt:636) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformAnonymousFunction(FirBodyResolveTransformer.kt:306) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformAnonymousFunction(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction.transform(FirAnonymousFunction.kt:50) + at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformSingle(FirTransformerUtil.kt:12) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments(FirCallCompleter.kt:239) + at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyzeLambda(PostponedArgumentsAnalyzer.kt:131) + at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyze(PostponedArgumentsAnalyzer.kt:59) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:125) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:124) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.analyzeArgumentWithFixedParameterTypes(ConstraintSystemCompleter.kt:131) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:48) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete$default(ConstraintSystemCompleter.kt:31) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.runCompletionForCall(FirCallCompleter.kt:118) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.completeCall(FirCallCompleter.kt:80) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:296) + ... 139 more +Caused by: java.lang.AssertionError: There should be at least one non-stub type to compute common supertype but there are: [Stub: TypeVariable(R1), Stub: TypeVariable(R1)] + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperTypeForNotNullTypes(NewCommonSuperTypeCalculator.kt:174) + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperTypeForSimpleTypes(NewCommonSuperTypeCalculator.kt:93) + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperType(NewCommonSuperTypeCalculator.kt:53) + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperType(NewCommonSuperTypeCalculator.kt:18) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.computeCommonSuperType(ResultTypeResolver.kt:175) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findSubType(ResultTypeResolver.kt:135) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findResultTypeOrNull(ResultTypeResolver.kt:42) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findResultType(ResultTypeResolver.kt:27) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.fixVariable(ConstraintSystemCompleter.kt:322) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.fixVariablesOrReportNotEnoughInformation(ConstraintSystemCompleter.kt:219) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:108) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete$default(ConstraintSystemCompleter.kt:31) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.runCompletionForCall(FirCallCompleter.kt:118) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.completeCall(FirCallCompleter.kt:80) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:296) + ... 176 more + diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeInvariant.fir.kt b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeInvariant.fir.kt index 2841acfe28b..7dc3671eb5b 100644 --- a/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeInvariant.fir.kt +++ b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeInvariant.fir.kt @@ -47,16 +47,16 @@ fun test() { build2 { emit(1) - select1(this@build.get(), getInv()) - select1(get(), Test.foo(this@build.getInv())) - select1(Test.foo(this@build.get()), Test.foo(getInv())) - select1(Test.foo(get()), this@build.getInv()) - select4(this@build.get(), getInv()) - select4(get(), Test.foo(this@build.getInv())) - select4(Test.foo(this@build.get()), Test.foo(getInv())) - select4(Test.foo(get()), this@build.getInv()) + select1(this@build.get(), getInv()) + select1(get(), Test.foo(this@build.getInv())) + select1(Test.foo(this@build.get()), Test.foo(getInv())) + select1(Test.foo(get()), this@build.getInv()) + select4(this@build.get(), getInv()) + select4(get(), Test.foo(this@build.getInv())) + select4(Test.foo(this@build.get()), Test.foo(getInv())) + select4(Test.foo(get()), this@build.getInv()) - select4(id(Test.foo(this@build.get())), getInv()) + select4(id(Test.foo(this@build.get())), getInv()) "" } "" @@ -78,16 +78,16 @@ fun test() { build2 { emit(1) - select2(this@build.get(), getInv()) - select2(get(), Test.foo(this@build.getInv())) - select2(Test.foo(this@build.get()), Test.foo(getInv())) - select2(Test.foo(get()), this@build.getInv()) - select3(this@build.get(), getInv()) - select3(get(), Test.foo(this@build.getInv())) - select3(Test.foo(this@build.get()), Test.foo(getInv())) - select3(Test.foo(get()), this@build.getInv()) + select2(this@build.get(), getInv()) + select2(get(), Test.foo(this@build.getInv())) + select2(Test.foo(this@build.get()), Test.foo(getInv())) + select2(Test.foo(get()), this@build.getInv()) + select3(this@build.get(), getInv()) + select3(get(), Test.foo(this@build.getInv())) + select3(Test.foo(this@build.get()), Test.foo(getInv())) + select3(Test.foo(get()), this@build.getInv()) "" } "" } -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeNullable.fir.fail b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeNullable.fir.fail new file mode 100644 index 00000000000..08695a86ae6 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/commonSuperTypeNullable.fir.fail @@ -0,0 +1,253 @@ + +While resolving call R?C|/build|( = build@fun R|TestInterface|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(String(1)) + Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()) + Q|Test|.R|/Test.foo|, Inv?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()) + R|/id|(this@R|special/anonymous|.R|SubstitutionOverride|()) + R|/select|(vararg(this@R|special/anonymous|.R|SubstitutionOverride|(), this@R|special/anonymous|.R|SubstitutionOverride|())) + R|/select|(vararg(Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()), Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()))) + R?C|/select|(Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()), this@R|special/anonymous|.R|SubstitutionOverride|()) + select#(getInv#(), getInv#()) + select#(Test#.foo#(getInv#()), Test#.foo#(getInv#())) + select#(Test#.foo#(getInv#()), getInv#()) + select#(getInv#(), Test#.foo#(getInv#())) + select#(id#(get#()), id#(get#())) + build2#( = build2@fun .(): { + emit#(IntegerLiteral(1)) + select#(this@build#.get#(), get#()) + select#(Test#.foo#(this@build#.get#()), Test#.foo#(get#())) + select#(this@build#.getInv#(), getInv#()) + select#(Test#.foo#(this@build#.getInv#()), Test#.foo#(getInv#())) + select#(Test#.foo#(this@build#.getInv#()), getInv#()) + select#(id#(this@build#.get#()), id#(get#())) + String() + } + ) + String() +} +) +java.lang.RuntimeException: While resolving call R?C|/build|( = build@fun R|TestInterface|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(String(1)) + Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()) + Q|Test|.R|/Test.foo|, Inv?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()) + R|/id|(this@R|special/anonymous|.R|SubstitutionOverride|()) + R|/select|(vararg(this@R|special/anonymous|.R|SubstitutionOverride|(), this@R|special/anonymous|.R|SubstitutionOverride|())) + R|/select|(vararg(Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()), Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()))) + R?C|/select|(Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()), this@R|special/anonymous|.R|SubstitutionOverride|()) + select#(getInv#(), getInv#()) + select#(Test#.foo#(getInv#()), Test#.foo#(getInv#())) + select#(Test#.foo#(getInv#()), getInv#()) + select#(getInv#(), Test#.foo#(getInv#())) + select#(id#(get#()), id#(get#())) + build2#( = build2@fun .(): { + emit#(IntegerLiteral(1)) + select#(this@build#.get#(), get#()) + select#(Test#.foo#(this@build#.get#()), Test#.foo#(get#())) + select#(this@build#.getInv#(), getInv#()) + select#(Test#.foo#(this@build#.getInv#()), Test#.foo#(getInv#())) + select#(Test#.foo#(this@build#.getInv#()), getInv#()) + select#(id#(this@build#.get#()), id#(get#())) + String() + } + ) + String() +} +) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:298) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:107) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:37) + at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:104) + at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:34) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformLocalVariable(FirDeclarationsResolveTransformer.kt:276) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformProperty(FirDeclarationsResolveTransformer.kt:119) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformProperty(FirBodyResolveTransformer.kt:259) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformProperty(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirProperty.transform(FirProperty.kt:58) + at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:134) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28) + at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformBody(FirSimpleFunctionImpl.kt:99) + at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:75) + at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:33) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:490) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:41) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:479) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:477) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.forFunctionBody(BodyResolveContext.kt:896) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformSimpleFunction(FirDeclarationsResolveTransformer.kt:477) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:281) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirSimpleFunction.transform(FirSimpleFunction.kt:52) + at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformInplace(FirTransformerUtil.kt:19) + at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformDeclarations(FirFileImpl.kt:61) + at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:46) + at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:25) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:54) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:37) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:23) + at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37) + at org.jetbrains.kotlin.fir.resolve.transformers.FirTransformerBasedResolveProcessor.processFile(FirResolveProcessor.kt:29) + at org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveProcessor.process(FirTotalResolveProcessor.kt:23) + at org.jetbrains.kotlin.fir.analysis.FirAnalyzerFacade.runResolution(FirAnalyzerFacade.kt:69) + at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:75) + at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:26) + at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:36) + at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:25) + at org.jetbrains.kotlin.test.TestRunner.processModule(TestRunner.kt:125) + at org.jetbrains.kotlin.test.TestRunner.runTestImpl(TestRunner.kt:66) + at org.jetbrains.kotlin.test.TestRunner.runTest(TestRunner.kt:20) + at org.jetbrains.kotlin.test.TestRunner.runTest$default(TestRunner.kt:18) + at org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest.runTest(AbstractKotlinCompilerTest.kt:80) + at org.jetbrains.kotlin.test.runners.FirOldFrontendDiagnosticsTestGenerated$Tests$Inference$BuilderInference$StubTypes.testCommonSuperTypeNullable(FirOldFrontendDiagnosticsTestGenerated.java:12723) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) + at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) + at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389) + at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) + at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) + at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389) + at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) + at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) + at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389) + at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) + at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) + at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) + at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) + at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) +Caused by: java.lang.RuntimeException: While resolving call R?C|/select|(Q|Test|.R|/Test.foo||>(this@R|special/anonymous|.R|SubstitutionOverride|()), this@R|special/anonymous|.R|SubstitutionOverride|()) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:298) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:107) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:37) + at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:134) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28) + at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformBody(FirAnonymousFunctionImpl.kt:102) + at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformChildren(FirAnonymousFunctionImpl.kt:74) + at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformChildren(FirAnonymousFunctionImpl.kt:31) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousFunctionWithLambdaResolution(FirDeclarationsResolveTransformer.kt:430) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformAnonymousFunctionWithLambdaResolution(FirDeclarationsResolveTransformer.kt:41) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformAnonymousFunction$3.invoke(FirDeclarationsResolveTransformer.kt:638) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformAnonymousFunction$3.invoke(FirDeclarationsResolveTransformer.kt:636) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.withAnonymousFunction(BodyResolveContext.kt:946) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousFunction(FirDeclarationsResolveTransformer.kt:636) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformAnonymousFunction(FirBodyResolveTransformer.kt:306) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformAnonymousFunction(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction.transform(FirAnonymousFunction.kt:50) + at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformSingle(FirTransformerUtil.kt:12) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments(FirCallCompleter.kt:239) + at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyzeLambda(PostponedArgumentsAnalyzer.kt:131) + at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyze(PostponedArgumentsAnalyzer.kt:59) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:125) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:124) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.analyzeArgumentWithFixedParameterTypes(ConstraintSystemCompleter.kt:131) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:48) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete$default(ConstraintSystemCompleter.kt:31) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.runCompletionForCall(FirCallCompleter.kt:118) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.completeCall(FirCallCompleter.kt:80) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:296) + ... 139 more +Caused by: java.lang.AssertionError: There should be at least one non-stub type to compute common supertype but there are: [Stub: TypeVariable(R)?, Stub: TypeVariable(R)] + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperTypeForNotNullTypes(NewCommonSuperTypeCalculator.kt:174) + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperTypeForSimpleTypes(NewCommonSuperTypeCalculator.kt:93) + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperType(NewCommonSuperTypeCalculator.kt:53) + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperType(NewCommonSuperTypeCalculator.kt:18) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.computeCommonSuperType(ResultTypeResolver.kt:175) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findSubType(ResultTypeResolver.kt:135) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findResultTypeOrNull(ResultTypeResolver.kt:42) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findResultType(ResultTypeResolver.kt:27) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.fixVariable(ConstraintSystemCompleter.kt:322) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.fixVariablesOrReportNotEnoughInformation(ConstraintSystemCompleter.kt:219) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:108) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete$default(ConstraintSystemCompleter.kt:31) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.runCompletionForCall(FirCallCompleter.kt:118) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.completeCall(FirCallCompleter.kt:80) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:296) + ... 176 more + diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/intersect.fir.fail b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/intersect.fir.fail new file mode 100644 index 00000000000..56702be60fb --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/intersect.fir.fail @@ -0,0 +1,257 @@ + +While resolving call R?C|/build|( = build@fun R|TestInterface|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(String(1)) + R|/intersect|(vararg(this@R|special/anonymous|.R|SubstitutionOverride|>|(), this@R|special/anonymous|.R|SubstitutionOverride|>|())) + R|/intersect|(vararg(this@R|special/anonymous|.R|SubstitutionOverride|>|(), Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()))) + R|/intersect|(vararg(Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()), Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()))) + R|/intersect|(vararg(Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()), this@R|special/anonymous|.R|SubstitutionOverride|>|())) + R?C|/build2|( = build2@fun R|TestInterface|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(Int(1)) + R|/intersect|(vararg(this@R|special/anonymous|.R|SubstitutionOverride|>|(), this@R|special/anonymous|.R|SubstitutionOverride|>|())) + R|/intersect|(vararg(this@R|special/anonymous|.R|SubstitutionOverride|>|(), Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()))) + R|/intersect|(vararg(Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()), Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()))) + R|/intersect|(vararg(Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()), this@R|special/anonymous|.R|SubstitutionOverride|>|())) + String() + } + ) + String() +} +) +java.lang.RuntimeException: While resolving call R?C|/build|( = build@fun R|TestInterface|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(String(1)) + R|/intersect|(vararg(this@R|special/anonymous|.R|SubstitutionOverride|>|(), this@R|special/anonymous|.R|SubstitutionOverride|>|())) + R|/intersect|(vararg(this@R|special/anonymous|.R|SubstitutionOverride|>|(), Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()))) + R|/intersect|(vararg(Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()), Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()))) + R|/intersect|(vararg(Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()), this@R|special/anonymous|.R|SubstitutionOverride|>|())) + R?C|/build2|( = build2@fun R|TestInterface|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(Int(1)) + R|/intersect|(vararg(this@R|special/anonymous|.R|SubstitutionOverride|>|(), this@R|special/anonymous|.R|SubstitutionOverride|>|())) + R|/intersect|(vararg(this@R|special/anonymous|.R|SubstitutionOverride|>|(), Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()))) + R|/intersect|(vararg(Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()), Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()))) + R|/intersect|(vararg(Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()), this@R|special/anonymous|.R|SubstitutionOverride|>|())) + String() + } + ) + String() +} +) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:298) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:107) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:37) + at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:104) + at org.jetbrains.kotlin.fir.declarations.impl.FirPropertyImpl.transformInitializer(FirPropertyImpl.kt:34) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformLocalVariable(FirDeclarationsResolveTransformer.kt:276) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformProperty(FirDeclarationsResolveTransformer.kt:119) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformProperty(FirBodyResolveTransformer.kt:259) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformProperty(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirProperty.transform(FirProperty.kt:58) + at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:134) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28) + at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformBody(FirSimpleFunctionImpl.kt:99) + at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:75) + at org.jetbrains.kotlin.fir.declarations.impl.FirSimpleFunctionImpl.transformChildren(FirSimpleFunctionImpl.kt:33) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:490) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformFunctionWithGivenSignature(FirDeclarationsResolveTransformer.kt:41) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:479) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformSimpleFunction$1$1.invoke(FirDeclarationsResolveTransformer.kt:477) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.forFunctionBody(BodyResolveContext.kt:896) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformSimpleFunction(FirDeclarationsResolveTransformer.kt:477) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:281) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformSimpleFunction(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirSimpleFunction.transform(FirSimpleFunction.kt:52) + at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformInplace(FirTransformerUtil.kt:19) + at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformDeclarations(FirFileImpl.kt:61) + at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:46) + at org.jetbrains.kotlin.fir.declarations.impl.FirFileImpl.transformChildren(FirFileImpl.kt:25) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:54) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFile(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:37) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformerAdapter.transformFile(FirBodyResolveTransformerAdapters.kt:23) + at org.jetbrains.kotlin.fir.declarations.FirFile.transform(FirFile.kt:37) + at org.jetbrains.kotlin.fir.resolve.transformers.FirTransformerBasedResolveProcessor.processFile(FirResolveProcessor.kt:29) + at org.jetbrains.kotlin.fir.resolve.transformers.FirTotalResolveProcessor.process(FirTotalResolveProcessor.kt:23) + at org.jetbrains.kotlin.fir.analysis.FirAnalyzerFacade.runResolution(FirAnalyzerFacade.kt:69) + at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:75) + at org.jetbrains.kotlin.test.frontend.fir.FirFrontendFacade.analyze(FirFrontendFacade.kt:26) + at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:36) + at org.jetbrains.kotlin.test.model.FrontendFacade.transform(Facades.kt:25) + at org.jetbrains.kotlin.test.TestRunner.processModule(TestRunner.kt:125) + at org.jetbrains.kotlin.test.TestRunner.runTestImpl(TestRunner.kt:66) + at org.jetbrains.kotlin.test.TestRunner.runTest(TestRunner.kt:20) + at org.jetbrains.kotlin.test.TestRunner.runTest$default(TestRunner.kt:18) + at org.jetbrains.kotlin.test.runners.AbstractKotlinCompilerTest.runTest(AbstractKotlinCompilerTest.kt:80) + at org.jetbrains.kotlin.test.runners.FirOldFrontendDiagnosticsTestGenerated$Tests$Inference$BuilderInference$StubTypes.testIntersect(FirOldFrontendDiagnosticsTestGenerated.java:12729) + at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) + at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) + at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) + at java.lang.reflect.Method.invoke(Method.java:498) + at org.junit.platform.commons.util.ReflectionUtils.invokeMethod(ReflectionUtils.java:688) + at org.junit.jupiter.engine.execution.MethodInvocation.proceed(MethodInvocation.java:60) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$ValidatingInvocation.proceed(InvocationInterceptorChain.java:131) + at org.junit.jupiter.engine.extension.TimeoutExtension.intercept(TimeoutExtension.java:149) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestableMethod(TimeoutExtension.java:140) + at org.junit.jupiter.engine.extension.TimeoutExtension.interceptTestMethod(TimeoutExtension.java:84) + at org.junit.jupiter.engine.execution.ExecutableInvoker$ReflectiveInterceptorCall.lambda$ofVoidMethod$0(ExecutableInvoker.java:115) + at org.junit.jupiter.engine.execution.ExecutableInvoker.lambda$invoke$0(ExecutableInvoker.java:105) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain$InterceptedInvocation.proceed(InvocationInterceptorChain.java:106) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.proceed(InvocationInterceptorChain.java:64) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.chainAndInvoke(InvocationInterceptorChain.java:45) + at org.junit.jupiter.engine.execution.InvocationInterceptorChain.invoke(InvocationInterceptorChain.java:37) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:104) + at org.junit.jupiter.engine.execution.ExecutableInvoker.invoke(ExecutableInvoker.java:98) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.lambda$invokeTestMethod$6(TestMethodTestDescriptor.java:210) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.invokeTestMethod(TestMethodTestDescriptor.java:206) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:131) + at org.junit.jupiter.engine.descriptor.TestMethodTestDescriptor.execute(TestMethodTestDescriptor.java:65) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:139) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) + at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) + at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389) + at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) + at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) + at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389) + at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) + at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) + at java.util.concurrent.ForkJoinTask.doJoin(ForkJoinTask.java:389) + at java.util.concurrent.ForkJoinTask.join(ForkJoinTask.java:719) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.joinConcurrentTasksInReverseOrderToEnableWorkStealing(ForkJoinPoolHierarchicalTestExecutorService.java:162) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService.invokeAll(ForkJoinPoolHierarchicalTestExecutorService.java:136) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$5(NodeTestTask.java:143) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$7(NodeTestTask.java:129) + at org.junit.platform.engine.support.hierarchical.Node.around(Node.java:137) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.lambda$executeRecursively$8(NodeTestTask.java:127) + at org.junit.platform.engine.support.hierarchical.ThrowableCollector.execute(ThrowableCollector.java:73) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.executeRecursively(NodeTestTask.java:126) + at org.junit.platform.engine.support.hierarchical.NodeTestTask.execute(NodeTestTask.java:84) + at org.junit.platform.engine.support.hierarchical.ForkJoinPoolHierarchicalTestExecutorService$ExclusiveTask.compute(ForkJoinPoolHierarchicalTestExecutorService.java:185) + at java.util.concurrent.RecursiveAction.exec(RecursiveAction.java:189) + at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289) + at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056) + at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1692) + at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) +Caused by: java.lang.RuntimeException: While resolving call R?C|/build2|( = build2@fun R|TestInterface|.(): R|kotlin/Unit| { + this@R|special/anonymous|.R|SubstitutionOverride|(Int(1)) + R|/intersect|(vararg(this@R|special/anonymous|.R|SubstitutionOverride|>|(), this@R|special/anonymous|.R|SubstitutionOverride|>|())) + R|/intersect|(vararg(this@R|special/anonymous|.R|SubstitutionOverride|>|(), Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()))) + R|/intersect|(vararg(Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()), Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()))) + R|/intersect|(vararg(Q|Test|.R|/Test.foo|, In?>|>(this@R|special/anonymous|.R|SubstitutionOverride|>|()), this@R|special/anonymous|.R|SubstitutionOverride|>|())) + String() +} +) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:298) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:107) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformFunctionCall(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirFunctionCall.transform(FirFunctionCall.kt:37) + at org.jetbrains.kotlin.fir.expressions.FirExpressionUtilKt.transformStatementsIndexed(FirExpressionUtil.kt:134) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlockInCurrentScope$resolve(FirExpressionsResolveTransformer.kt:323) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformBlock(FirExpressionsResolveTransformer.kt:314) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:122) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformBlock(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.expressions.FirBlock.transform(FirBlock.kt:28) + at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformBody(FirAnonymousFunctionImpl.kt:102) + at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformChildren(FirAnonymousFunctionImpl.kt:74) + at org.jetbrains.kotlin.fir.declarations.impl.FirAnonymousFunctionImpl.transformChildren(FirAnonymousFunctionImpl.kt:31) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformElement(FirBodyResolveTransformer.kt:60) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformDeclarationContent(FirBodyResolveTransformer.kt:244) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformDeclarationContent(FirDeclarationsResolveTransformer.kt:69) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformFunction(FirDeclarationsResolveTransformer.kt:527) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousFunctionWithLambdaResolution(FirDeclarationsResolveTransformer.kt:430) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.access$transformAnonymousFunctionWithLambdaResolution(FirDeclarationsResolveTransformer.kt:41) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformAnonymousFunction$3.invoke(FirDeclarationsResolveTransformer.kt:638) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer$transformAnonymousFunction$3.invoke(FirDeclarationsResolveTransformer.kt:636) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.BodyResolveContext.withAnonymousFunction(BodyResolveContext.kt:946) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirDeclarationsResolveTransformer.transformAnonymousFunction(FirDeclarationsResolveTransformer.kt:636) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformAnonymousFunction(FirBodyResolveTransformer.kt:306) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirBodyResolveTransformer.transformAnonymousFunction(FirBodyResolveTransformer.kt:27) + at org.jetbrains.kotlin.fir.declarations.FirAnonymousFunction.transform(FirAnonymousFunction.kt:50) + at org.jetbrains.kotlin.fir.visitors.FirTransformerUtilKt.transformSingle(FirTransformerUtil.kt:12) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$LambdaAnalyzerImpl.analyzeAndGetLambdaReturnArguments(FirCallCompleter.kt:239) + at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyzeLambda(PostponedArgumentsAnalyzer.kt:131) + at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyze(PostponedArgumentsAnalyzer.kt:59) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:125) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:124) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.analyzeArgumentWithFixedParameterTypes(ConstraintSystemCompleter.kt:131) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:48) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete$default(ConstraintSystemCompleter.kt:31) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.runCompletionForCall(FirCallCompleter.kt:118) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.completeCall(FirCallCompleter.kt:80) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:296) + ... 139 more +Caused by: java.lang.IllegalStateException: Expected some types + at org.jetbrains.kotlin.fir.types.ConeTypeIntersector.intersectTypes(ConeTypeIntersector.kt:18) + at org.jetbrains.kotlin.fir.types.ConeTypeContext$DefaultImpls.intersectTypes(ConeTypeContext.kt:395) + at org.jetbrains.kotlin.fir.types.ConeInferenceContext$DefaultImpls.intersectTypes(ConeInferenceContext.kt:29) + at org.jetbrains.kotlin.fir.resolve.inference.InferenceComponents$ctx$1.intersectTypes(InferenceComponents.kt:16) + at org.jetbrains.kotlin.resolve.calls.inference.model.NewConstraintSystemImpl.intersectTypes(NewConstraintSystemImpl.kt) + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.findSuperTypeConstructorsAndIntersectResult(NewCommonSuperTypeCalculator.kt:231) + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperTypeForNotNullTypes(NewCommonSuperTypeCalculator.kt:203) + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperTypeForSimpleTypes(NewCommonSuperTypeCalculator.kt:93) + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperType(NewCommonSuperTypeCalculator.kt:53) + at org.jetbrains.kotlin.resolve.calls.NewCommonSuperTypeCalculator.commonSuperType(NewCommonSuperTypeCalculator.kt:18) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.computeCommonSuperType(ResultTypeResolver.kt:175) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findSubType(ResultTypeResolver.kt:135) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findResultTypeOrNull(ResultTypeResolver.kt:42) + at org.jetbrains.kotlin.resolve.calls.inference.components.ResultTypeResolver.findResultType(ResultTypeResolver.kt:27) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.fixVariable(ConstraintSystemCompleter.kt:322) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.fixVariablesOrReportNotEnoughInformation(ConstraintSystemCompleter.kt:219) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:108) + at org.jetbrains.kotlin.fir.resolve.inference.FirBuilderInferenceSession.inferPostponedVariables(FirBuilderInferenceSession.kt:121) + at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.applyResultsOfAnalyzedLambdaToCandidateSystem(PostponedArgumentsAnalyzer.kt:154) + at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyzeLambda(PostponedArgumentsAnalyzer.kt:138) + at org.jetbrains.kotlin.fir.resolve.inference.PostponedArgumentsAnalyzer.analyze(PostponedArgumentsAnalyzer.kt:59) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:125) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter$runCompletionForCall$1.invoke(FirCallCompleter.kt:124) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.analyzeArgumentWithFixedParameterTypes(ConstraintSystemCompleter.kt:131) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete(ConstraintSystemCompleter.kt:48) + at org.jetbrains.kotlin.fir.resolve.inference.ConstraintSystemCompleter.complete$default(ConstraintSystemCompleter.kt:31) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.runCompletionForCall(FirCallCompleter.kt:118) + at org.jetbrains.kotlin.fir.resolve.inference.FirCallCompleter.completeCall(FirCallCompleter.kt:80) + at org.jetbrains.kotlin.fir.resolve.transformers.body.resolve.FirExpressionsResolveTransformer.transformFunctionCall(FirExpressionsResolveTransformer.kt:296) + ... 176 more + diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/memberScope.fir.kt b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/memberScope.fir.kt index 0d4fe9b2cdd..46ec61c5c64 100644 --- a/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/memberScope.fir.kt +++ b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/memberScope.fir.kt @@ -24,7 +24,7 @@ fun test() { get()?.test2() get().test2() get()?.hashCode() - get()?.equals(1) + get()?.equals(1) // there is `String?.equals` extension get().equals("") } @@ -35,10 +35,10 @@ fun test() { get()?.test2() get().test2() get()?.hashCode() - get()?.equals(1) + get()?.equals(1) val x = get() - x?.hashCode() - x?.equals(1) + x?.hashCode() + x?.equals(1) x.equals("") } val ret3 = build { @@ -48,22 +48,22 @@ fun test() { get()?.test2() get().test2() get()?.hashCode() - get()?.equals(1) + get()?.equals(1) val x = get() - x?.hashCode() - x?.equals(1) + x?.hashCode() + x?.equals(1) if (get() == null) {} if (get() === null) {} if (x != null) { - x?.hashCode() - x?.equals(1) + x?.hashCode() + x?.equals(1) x.equals("") x.hashCode() x.toString() x.test() - x?.test2() + x?.test2() x.test2() } @@ -76,33 +76,33 @@ fun test() { get()?.test2() get().test2() get()?.hashCode() - get()?.equals(1) + get()?.equals(1) val x = get() - x?.hashCode() - x?.equals(1) + x?.hashCode() + x?.equals(1) if (get() == null) {} if (get() === null) {} if (x == null) { - x?.hashCode() - x?.equals(1) + x?.hashCode() + x?.equals(1) x.equals("") // TODO: is it correct? x.hashCode() x.toString() x.test() - x?.test2() + x?.test2() x.test2() } if (x === null) { - x?.hashCode() - x?.equals(1) + x?.hashCode() + x?.equals(1) x.equals("") x.hashCode() x.toString() x.test() - x?.test2() + x?.test2() x.test2() } @@ -115,25 +115,25 @@ fun test() { get()?.test2() get().test2() get()?.hashCode() - get()?.equals(1) + get()?.equals(1) val x = get() - x?.hashCode() - x?.equals(1) + x?.hashCode() + x?.equals(1) if (get() == null) {} if (get() === null) {} if (x == null) { - x?.hashCode() - x?.equals(1) + x?.hashCode() + x?.equals(1) x.equals("") x.hashCode() x.toString() x.test() - x?.test2() + x?.test2() x.test2() } "" } -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/nullability.fir.kt b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/nullability.fir.kt index 7f264088d28..9df0149a11d 100644 --- a/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/nullability.fir.kt +++ b/compiler/testData/diagnostics/tests/inference/builderInference/stubTypes/nullability.fir.kt @@ -25,38 +25,38 @@ fun build4(x: R2, @BuilderInference block: TestInterface.() -> fun test(a: String?) { val ret1 = build { emit(1) - get()?.equals("") + get()?.equals("") val x = get() - x?.equals("") - x ?: 1 - x!! + x?.equals("") + x ?: 1 + x!! "" } val ret2 = build2 { emit(1) - get()?.equals("") + get()?.equals("") val x = get() - x?.equals("") - x ?: 1 - x!! + x?.equals("") + x ?: 1 + x!! "" } val ret3 = build3 { emit(1) - get()?.equals("") + get()?.equals("") val x = get() - x?.equals("") - x ?: 1 - x!! + x?.equals("") + x ?: 1 + x!! "" } val ret4 = build4(1) { emit(1) - get()?.equals("") + get()?.equals("") val x = get() - x?.equals("") - x ?: 1 - x!! + x?.equals("") + x ?: 1 + x!! "" } -} \ No newline at end of file +} diff --git a/compiler/testData/diagnostics/tests/inference/commonSystem/lessSpecificTypeForArgumentCallWithExactAnnotation.kt b/compiler/testData/diagnostics/tests/inference/commonSystem/lessSpecificTypeForArgumentCallWithExactAnnotation.kt index 3b73669dac4..0d324dec1e2 100644 --- a/compiler/testData/diagnostics/tests/inference/commonSystem/lessSpecificTypeForArgumentCallWithExactAnnotation.kt +++ b/compiler/testData/diagnostics/tests/inference/commonSystem/lessSpecificTypeForArgumentCallWithExactAnnotation.kt @@ -12,6 +12,6 @@ fun foo(a: Any) {} fun test(b: B, c: C) { foo( - select(b, c) + select(b, c) ) } diff --git a/compiler/testData/diagnostics/tests/inference/commonSystem/postponedCompletionWithExactAnnotation.kt b/compiler/testData/diagnostics/tests/inference/commonSystem/postponedCompletionWithExactAnnotation.kt index f6c90969be4..769df3b93eb 100644 --- a/compiler/testData/diagnostics/tests/inference/commonSystem/postponedCompletionWithExactAnnotation.kt +++ b/compiler/testData/diagnostics/tests/inference/commonSystem/postponedCompletionWithExactAnnotation.kt @@ -22,7 +22,7 @@ fun test(nullableSample: ISample, any: Any) { ) elvisSimple( - elvisExact(nullableSample, materialize()), + elvisExact(nullableSample, materialize()), any ) } diff --git a/compiler/testData/diagnostics/testsWithStdLib/builderInference/resolveUsualCallWithBuilderInferenceWithRestrictions.fir.kt b/compiler/testData/diagnostics/testsWithStdLib/builderInference/resolveUsualCallWithBuilderInferenceWithRestrictions.fir.kt index d9c5c473fad..76fa4fb0803 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/builderInference/resolveUsualCallWithBuilderInferenceWithRestrictions.fir.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/builderInference/resolveUsualCallWithBuilderInferenceWithRestrictions.fir.kt @@ -25,7 +25,7 @@ val member = build { } val memberWithoutAnn = wrongBuild { - add(42) + add(42) } val extension = build { diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/kt33542.fir.kt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/kt33542.fir.kt index eea59bf1d46..64eb848ed87 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/kt33542.fir.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/inference/kt33542.fir.kt @@ -20,7 +20,7 @@ suspend fun yield() {} fun test() { builder { - send(run { + send(run { yield() // No error but `yield` is not inside "suspension" context actually }) } diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/restrictSuspension/outerYield_1_3.fir.kt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/restrictSuspension/outerYield_1_3.fir.kt index 31050be60fe..ebcc831a4f2 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/coroutines/restrictSuspension/outerYield_1_3.fir.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/restrictSuspension/outerYield_1_3.fir.kt @@ -84,10 +84,10 @@ fun test() { with(this) { yield("") - this@with.yield("") + this@with.yield("") yield2("") - this@with.yield2("") + this@with.yield2("") } } } diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java index f6adbbae52b..d806a5e0644 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/es6/semantics/IrJsCodegenBoxES6TestGenerated.java @@ -12735,36 +12735,16 @@ public class IrJsCodegenBoxES6TestGenerated extends AbstractIrJsCodegenBoxES6Tes runTest("compiler/testData/codegen/box/inference/builderInference/capturedTypes.kt"); } - @TestMetadata("commonSuperType.kt") - public void testCommonSuperType() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperType.kt"); - } - @TestMetadata("commonSuperTypeContravariant.kt") public void testCommonSuperTypeContravariant() throws Exception { runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeContravariant.kt"); } - @TestMetadata("commonSuperTypeCovariant.kt") - public void testCommonSuperTypeCovariant() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeCovariant.kt"); - } - @TestMetadata("commonSuperTypeInvariant.kt") public void testCommonSuperTypeInvariant() throws Exception { runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeInvariant.kt"); } - @TestMetadata("commonSuperTypeNullable.kt") - public void testCommonSuperTypeNullable() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeNullable.kt"); - } - - @TestMetadata("intersect.kt") - public void testIntersect() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/intersect.kt"); - } - @TestMetadata("kt41164.kt") public void testKt41164() throws Exception { runTest("compiler/testData/codegen/box/inference/builderInference/kt41164.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java index ef68cc8b867..0a138e104e6 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/ir/semantics/IrJsCodegenBoxTestGenerated.java @@ -12141,36 +12141,16 @@ public class IrJsCodegenBoxTestGenerated extends AbstractIrJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inference/builderInference/capturedTypes.kt"); } - @TestMetadata("commonSuperType.kt") - public void testCommonSuperType() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperType.kt"); - } - @TestMetadata("commonSuperTypeContravariant.kt") public void testCommonSuperTypeContravariant() throws Exception { runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeContravariant.kt"); } - @TestMetadata("commonSuperTypeCovariant.kt") - public void testCommonSuperTypeCovariant() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeCovariant.kt"); - } - @TestMetadata("commonSuperTypeInvariant.kt") public void testCommonSuperTypeInvariant() throws Exception { runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeInvariant.kt"); } - @TestMetadata("commonSuperTypeNullable.kt") - public void testCommonSuperTypeNullable() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeNullable.kt"); - } - - @TestMetadata("intersect.kt") - public void testIntersect() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/intersect.kt"); - } - @TestMetadata("kt41164.kt") public void testKt41164() throws Exception { runTest("compiler/testData/codegen/box/inference/builderInference/kt41164.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java index 46101fb904c..ba1176b0846 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/semantics/JsCodegenBoxTestGenerated.java @@ -12206,36 +12206,16 @@ public class JsCodegenBoxTestGenerated extends AbstractJsCodegenBoxTest { runTest("compiler/testData/codegen/box/inference/builderInference/capturedTypes.kt"); } - @TestMetadata("commonSuperType.kt") - public void testCommonSuperType() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperType.kt"); - } - @TestMetadata("commonSuperTypeContravariant.kt") public void testCommonSuperTypeContravariant() throws Exception { runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeContravariant.kt"); } - @TestMetadata("commonSuperTypeCovariant.kt") - public void testCommonSuperTypeCovariant() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeCovariant.kt"); - } - @TestMetadata("commonSuperTypeInvariant.kt") public void testCommonSuperTypeInvariant() throws Exception { runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeInvariant.kt"); } - @TestMetadata("commonSuperTypeNullable.kt") - public void testCommonSuperTypeNullable() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeNullable.kt"); - } - - @TestMetadata("intersect.kt") - public void testIntersect() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/intersect.kt"); - } - @TestMetadata("kt41164.kt") public void testKt41164() throws Exception { runTest("compiler/testData/codegen/box/inference/builderInference/kt41164.kt"); diff --git a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java index d999d30ac28..437f3a2a683 100644 --- a/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java +++ b/js/js.tests/tests-gen/org/jetbrains/kotlin/js/test/wasm/semantics/IrCodegenBoxWasmTestGenerated.java @@ -6491,90 +6491,10 @@ public class IrCodegenBoxWasmTestGenerated extends AbstractIrCodegenBoxWasmTest KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("compiler/testData/codegen/box/inference/builderInference"), Pattern.compile("^([^_](.+))\\.kt$"), null, TargetBackend.WASM, true); } - @TestMetadata("capturedTypes.kt") - public void testCapturedTypes() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/capturedTypes.kt"); - } - - @TestMetadata("commonSuperType.kt") - public void testCommonSuperType() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperType.kt"); - } - - @TestMetadata("commonSuperTypeContravariant.kt") - public void testCommonSuperTypeContravariant() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeContravariant.kt"); - } - - @TestMetadata("commonSuperTypeCovariant.kt") - public void testCommonSuperTypeCovariant() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeCovariant.kt"); - } - - @TestMetadata("commonSuperTypeInvariant.kt") - public void testCommonSuperTypeInvariant() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeInvariant.kt"); - } - - @TestMetadata("commonSuperTypeNullable.kt") - public void testCommonSuperTypeNullable() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/commonSuperTypeNullable.kt"); - } - - @TestMetadata("intersect.kt") - public void testIntersect() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/intersect.kt"); - } - - @TestMetadata("kt41164.kt") - public void testKt41164() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/kt41164.kt"); - } - - @TestMetadata("labaledCall.kt") - public void testLabaledCall() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/labaledCall.kt"); - } - - @TestMetadata("lackOfNullCheckOnNullableInsideBuild.kt") - public void testLackOfNullCheckOnNullableInsideBuild() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/lackOfNullCheckOnNullableInsideBuild.kt"); - } - - @TestMetadata("memberScope.kt") - public void testMemberScope() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/memberScope.kt"); - } - - @TestMetadata("nullability.kt") - public void testNullability() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/nullability.kt"); - } - - @TestMetadata("propagateInferenceSessionIntoDeclarationAnalyzers.kt") - public void testPropagateInferenceSessionIntoDeclarationAnalyzers() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/propagateInferenceSessionIntoDeclarationAnalyzers.kt"); - } - - @TestMetadata("specialCallsWithCallableReferencesDontCareTypeInBlockExression.kt") - public void testSpecialCallsWithCallableReferencesDontCareTypeInBlockExression() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/specialCallsWithCallableReferencesDontCareTypeInBlockExression.kt"); - } - - @TestMetadata("specialCallsWithCallableReferencesDontRewriteAtSlice.kt") - public void testSpecialCallsWithCallableReferencesDontRewriteAtSlice() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/specialCallsWithCallableReferencesDontRewriteAtSlice.kt"); - } - @TestMetadata("substituteStubTypeIntolambdaParameterDescriptor.kt") public void testSubstituteStubTypeIntolambdaParameterDescriptor() throws Exception { runTest("compiler/testData/codegen/box/inference/builderInference/substituteStubTypeIntolambdaParameterDescriptor.kt"); } - - @TestMetadata("withExpectedType.kt") - public void testWithExpectedType() throws Exception { - runTest("compiler/testData/codegen/box/inference/builderInference/withExpectedType.kt"); - } } } diff --git a/plugins/uast-kotlin/testData/InnerNonFixedTypeVariable.types.txt b/plugins/uast-kotlin/testData/InnerNonFixedTypeVariable.types.txt index 51fead0219e..9acbfaee17c 100644 --- a/plugins/uast-kotlin/testData/InnerNonFixedTypeVariable.types.txt +++ b/plugins/uast-kotlin/testData/InnerNonFixedTypeVariable.types.txt @@ -7,9 +7,9 @@ UFile (package = ) [public final class InnerNonFixedTypeVariableKt {...] UQualifiedReferenceExpression [list.filterIsInstance().(mutableSetOf(), { ...})] : PsiType: UQualifiedReferenceExpression [list.filterIsInstance()] USimpleNameReferenceExpression (identifier = list) [list] : PsiType:List - UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) [filterIsInstance()] + UCallExpression (kind = UastCallKind(name='method_call'), argCount = 0)) [filterIsInstance()] : PsiType:List UIdentifier (Identifier (filterIsInstance)) [UIdentifier (Identifier (filterIsInstance))] - USimpleNameReferenceExpression (identifier = filterIsInstance, resolvesTo = null) [filterIsInstance] + USimpleNameReferenceExpression (identifier = filterIsInstance, resolvesTo = null) [filterIsInstance] : PsiType:List UCallExpression (kind = UastCallKind(name='method_call'), argCount = 2)) [(mutableSetOf(), { ...})] : PsiType: UIdentifier (Identifier (mapTo)) [UIdentifier (Identifier (mapTo))] USimpleNameReferenceExpression (identifier = , resolvesTo = null) [] : PsiType: diff --git a/plugins/uast-kotlin/tests/KotlinUastResolveApiTest.kt b/plugins/uast-kotlin/tests/KotlinUastResolveApiTest.kt index c47f8821433..fd98568c142 100644 --- a/plugins/uast-kotlin/tests/KotlinUastResolveApiTest.kt +++ b/plugins/uast-kotlin/tests/KotlinUastResolveApiTest.kt @@ -340,7 +340,7 @@ class KotlinUastResolveApiTest : KotlinLightCodeInsightFixtureTestCase() { val uFile = myFixture.file.toUElement()!! TestCase.assertEquals( - "PsiType:List", + "PsiType:void", uFile.findElementByTextFromPsi("arr[0]").getExpressionType().toString() ) TestCase.assertEquals(