diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java index 267241e0de4..842b3080565 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosisCompilerTestFE10TestdataTestGenerated.java @@ -14059,6 +14059,12 @@ public class DiagnosisCompilerTestFE10TestdataTestGenerated extends AbstractDiag runTest("compiler/testData/diagnostics/tests/inference/builderInference/kt49829.kt"); } + @Test + @TestMetadata("kt50989.kt") + public void testKt50989() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/builderInference/kt50989.kt"); + } + @Test @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java index 5cd58644395..8bfc2705fd2 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsTestGenerated.java @@ -14059,6 +14059,12 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirDiagnosti runTest("compiler/testData/diagnostics/tests/inference/builderInference/kt49829.kt"); } + @Test + @TestMetadata("kt50989.kt") + public void testKt50989() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/builderInference/kt50989.kt"); + } + @Test @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java index 373c14d4664..4673bccabad 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirOldFrontendDiagnosticsWithLightTreeTestGenerated.java @@ -14059,6 +14059,12 @@ public class FirOldFrontendDiagnosticsWithLightTreeTestGenerated extends Abstrac runTest("compiler/testData/diagnostics/tests/inference/builderInference/kt49829.kt"); } + @Test + @TestMetadata("kt50989.kt") + public void testKt50989() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/builderInference/kt50989.kt"); + } + @Test @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception { diff --git a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ResolutionWithStubTypesChecker.kt b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ResolutionWithStubTypesChecker.kt index 16c478565b8..2b990ea4707 100644 --- a/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ResolutionWithStubTypesChecker.kt +++ b/compiler/frontend/src/org/jetbrains/kotlin/resolve/checkers/ResolutionWithStubTypesChecker.kt @@ -76,8 +76,8 @@ class ResolutionWithStubTypesChecker(private val kotlinCallResolver: KotlinCallR val builderInferenceSession = lambda.builderInferenceSession as BuilderInferenceSession val stubVariablesSubstitutor = builderInferenceSession.getNotFixedToInferredTypesSubstitutor() val variablesForUsedStubTypes = builderInferenceSession.getUsedStubTypes().map { it.originalTypeVariable } - val typeVariablesSubstitutionMap = (builderInferenceSession.getCurrentSubstitutor() as NewTypeSubstitutorByConstructorMap).map - .filterKeys { it in variablesForUsedStubTypes } + val substitutor = builderInferenceSession.getCurrentSubstitutor() as? NewTypeSubstitutorByConstructorMap ?: return + val typeVariablesSubstitutionMap = substitutor.map.filterKeys { it in variablesForUsedStubTypes } val newReceiverArgument = receiverValue?.buildSubstitutedReceiverArgument(stubVariablesSubstitutor, context) val newArguments = valueArguments.replaceTypes(context, resolutionCallbacks) { _, type -> diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/kt50989.fir.kt b/compiler/testData/diagnostics/tests/inference/builderInference/kt50989.fir.kt new file mode 100644 index 00000000000..919ae8ad5af --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/builderInference/kt50989.fir.kt @@ -0,0 +1,7 @@ +// WITH_STDLIB + +fun main() { + buildList { + println(get(0)) + } +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/kt50989.kt b/compiler/testData/diagnostics/tests/inference/builderInference/kt50989.kt new file mode 100644 index 00000000000..580cf65c725 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/builderInference/kt50989.kt @@ -0,0 +1,7 @@ +// WITH_STDLIB + +fun main() { + buildList { + println(get(0)) + } +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/inference/builderInference/kt50989.txt b/compiler/testData/diagnostics/tests/inference/builderInference/kt50989.txt new file mode 100644 index 00000000000..a9fef69810f --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/builderInference/kt50989.txt @@ -0,0 +1,3 @@ +package + +public fun main(): kotlin.Unit diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java index ebc0987b6ac..6a3c9030a4c 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java @@ -14065,6 +14065,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/inference/builderInference/kt49829.kt"); } + @Test + @TestMetadata("kt50989.kt") + public void testKt50989() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/builderInference/kt50989.kt"); + } + @Test @TestMetadata("labaledCall.kt") public void testLabaledCall() throws Exception {