diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292.kt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292.kt index 91bcfe965c3..fbb04981ab4 100644 --- a/compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292.kt +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292.kt @@ -1,7 +1,7 @@ +// !LANGUAGE: -NewInference // SKIP_TXT // WITH_RUNTIME // COMMON_COROUTINES_TEST -// !WITH_NEW_INFERENCE import COROUTINES_PACKAGE.* @@ -15,6 +15,6 @@ suspend fun fib(n: Long) = async { when { n < 2 -> n - else -> fib(n - 1).await() + fib(n - 2).await() + else -> fib(n - 1).await() + fib(n - 2).await() } } \ No newline at end of file diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292_ni.kt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292_ni.kt new file mode 100644 index 00000000000..c1599d6ce17 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292_ni.kt @@ -0,0 +1,19 @@ +// !LANGUAGE: +NewInference +// SKIP_TXT +// WITH_RUNTIME + +import kotlin.coroutines.* + +interface Job : CoroutineContext.Element {} +interface Deferred : Job { + suspend fun await(): T +} +fun async(block: suspend () -> T): Deferred = TODO() + +suspend fun fib(n: Long) = + async { + when { + n < 2 -> n + else -> fib(n - 1).await() + fib(n - 2).await() + } + } \ No newline at end of file diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java index a697810aa60..4af5c2eb860 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java @@ -1553,6 +1553,11 @@ public class DiagnosticsTestWithStdLibGenerated extends AbstractDiagnosticsTestW runTestWithPackageReplacement("compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292.kt", "kotlin.coroutines"); } + @TestMetadata("kt18292_ni.kt") + public void testKt18292_ni() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292_ni.kt"); + } + @TestMetadata("kt28658.kt") public void testKt28658() throws Exception { runTest("compiler/testData/diagnostics/testsWithStdLib/coroutines/kt28658.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java index 31c2a026b24..ceb9bb87ca7 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java @@ -1553,6 +1553,11 @@ public class DiagnosticsTestWithStdLibUsingJavacGenerated extends AbstractDiagno runTestWithPackageReplacement("compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292.kt", "kotlin.coroutines"); } + @TestMetadata("kt18292_ni.kt") + public void testKt18292_ni() throws Exception { + runTest("compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292_ni.kt"); + } + @TestMetadata("kt28658.kt") public void testKt28658() throws Exception { runTest("compiler/testData/diagnostics/testsWithStdLib/coroutines/kt28658.kt");