diff --git a/compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292.kt b/compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292.kt new file mode 100644 index 00000000000..dde70ae1ba9 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292.kt @@ -0,0 +1,18 @@ +// SKIP_TXT +// WITH_RUNTIME + +import kotlin.coroutines.experimental.* + +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 9144ffbf087..6eaabd615e9 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java @@ -1320,6 +1320,12 @@ public class DiagnosticsTestWithStdLibGenerated extends AbstractDiagnosticsTestW doTest(fileName); } + @TestMetadata("kt18292.kt") + public void testKt18292() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292.kt"); + doTest(fileName); + } + @TestMetadata("lambdaExpectedType.kt") public void testLambdaExpectedType() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/lambdaExpectedType.kt"); diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java index c1f1d4529a3..620c6371834 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/javac/DiagnosticsTestWithStdLibUsingJavacGenerated.java @@ -1320,6 +1320,12 @@ public class DiagnosticsTestWithStdLibUsingJavacGenerated extends AbstractDiagno doTest(fileName); } + @TestMetadata("kt18292.kt") + public void testKt18292() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/kt18292.kt"); + doTest(fileName); + } + @TestMetadata("lambdaExpectedType.kt") public void testLambdaExpectedType() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/coroutines/lambdaExpectedType.kt");