diff --git a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirOldFrontendDiagnosticsTestGenerated.java index bd4583913e7..c0f56f30534 100644 --- a/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/resolve/tests/org/jetbrains/kotlin/fir/FirOldFrontendDiagnosticsTestGenerated.java @@ -9896,6 +9896,11 @@ public class FirOldFrontendDiagnosticsTestGenerated extends AbstractFirOldFronte runTest("compiler/testData/diagnostics/tests/inference/conflictingSubstitutions.kt"); } + @TestMetadata("cstFromErrorAndNonErrorTypes.kt") + public void testCstFromErrorAndNonErrorTypes() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/cstFromErrorAndNonErrorTypes.kt"); + } + @TestMetadata("dependOnExpectedType.kt") public void testDependOnExpectedType() throws Exception { runTest("compiler/testData/diagnostics/tests/inference/dependOnExpectedType.kt"); diff --git a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/NewCommonSuperTypeCalculator.kt b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/NewCommonSuperTypeCalculator.kt index 464a348ad05..2b5b3327adf 100644 --- a/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/NewCommonSuperTypeCalculator.kt +++ b/compiler/resolution/src/org/jetbrains/kotlin/resolve/calls/NewCommonSuperTypeCalculator.kt @@ -97,7 +97,7 @@ object NewCommonSuperTypeCalculator { contextStubTypesEqualToAnything: AbstractTypeCheckerContext, contextStubTypesNotEqual: AbstractTypeCheckerContext ): SimpleTypeMarker { - if (types.all { it is ErrorType }) { + if (types.any { it is ErrorType }) { return ErrorUtils.createErrorType("CST(${types.joinToString()}") } diff --git a/compiler/testData/diagnostics/tests/inference/cstFromErrorAndNonErrorTypes.fir.kt b/compiler/testData/diagnostics/tests/inference/cstFromErrorAndNonErrorTypes.fir.kt new file mode 100644 index 00000000000..3b8aeada1f2 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/cstFromErrorAndNonErrorTypes.fir.kt @@ -0,0 +1,9 @@ +// !LANGUAGE: +NewInference + +fun test() { + run { + if (true) + return@run false + unresolved.toString() + } +} diff --git a/compiler/testData/diagnostics/tests/inference/cstFromErrorAndNonErrorTypes.kt b/compiler/testData/diagnostics/tests/inference/cstFromErrorAndNonErrorTypes.kt new file mode 100644 index 00000000000..3a24c8d73e4 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/cstFromErrorAndNonErrorTypes.kt @@ -0,0 +1,9 @@ +// !LANGUAGE: +NewInference + +fun test() { + run { + if (true) + return@run false + unresolved.toString() + } +} diff --git a/compiler/testData/diagnostics/tests/inference/cstFromErrorAndNonErrorTypes.txt b/compiler/testData/diagnostics/tests/inference/cstFromErrorAndNonErrorTypes.txt new file mode 100644 index 00000000000..93e27f34c8c --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/cstFromErrorAndNonErrorTypes.txt @@ -0,0 +1,3 @@ +package + +public fun test(): kotlin.Unit diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java index 1f07b9d8dae..980944534d9 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java @@ -9903,6 +9903,11 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest { runTest("compiler/testData/diagnostics/tests/inference/conflictingSubstitutions.kt"); } + @TestMetadata("cstFromErrorAndNonErrorTypes.kt") + public void testCstFromErrorAndNonErrorTypes() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/cstFromErrorAndNonErrorTypes.kt"); + } + @TestMetadata("dependOnExpectedType.kt") public void testDependOnExpectedType() throws Exception { runTest("compiler/testData/diagnostics/tests/inference/dependOnExpectedType.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java index 9a8269ac0d8..d057b5110a8 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsUsingJavacTestGenerated.java @@ -9898,6 +9898,11 @@ public class DiagnosticsUsingJavacTestGenerated extends AbstractDiagnosticsUsing runTest("compiler/testData/diagnostics/tests/inference/conflictingSubstitutions.kt"); } + @TestMetadata("cstFromErrorAndNonErrorTypes.kt") + public void testCstFromErrorAndNonErrorTypes() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/cstFromErrorAndNonErrorTypes.kt"); + } + @TestMetadata("dependOnExpectedType.kt") public void testDependOnExpectedType() throws Exception { runTest("compiler/testData/diagnostics/tests/inference/dependOnExpectedType.kt");