diff --git a/compiler/testData/diagnostics/testsWithStdLib/smartcasts/listOfGeneric.kt b/compiler/testData/diagnostics/testsWithStdLib/smartcasts/listOfGeneric.kt new file mode 100644 index 00000000000..f9611264f24 --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/smartcasts/listOfGeneric.kt @@ -0,0 +1,8 @@ +// See KT-9529 Smart cast causes code to be incompilable + +fun foo(o: T): Collection { + if (o is String) { + return listOf(o) + } + return listOf(o) +} diff --git a/compiler/testData/diagnostics/testsWithStdLib/smartcasts/listOfGeneric.txt b/compiler/testData/diagnostics/testsWithStdLib/smartcasts/listOfGeneric.txt new file mode 100644 index 00000000000..f136b15e1ab --- /dev/null +++ b/compiler/testData/diagnostics/testsWithStdLib/smartcasts/listOfGeneric.txt @@ -0,0 +1,3 @@ +package + +public fun foo(/*0*/ o: T): kotlin.collections.Collection diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java index 10868f7c5c1..bfb3ae4b025 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestWithStdLibGenerated.java @@ -1168,6 +1168,12 @@ public class DiagnosticsTestWithStdLibGenerated extends AbstractDiagnosticsTestW doTest(fileName); } + @TestMetadata("listOfGeneric.kt") + public void testListOfGeneric() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/smartcasts/listOfGeneric.kt"); + doTest(fileName); + } + @TestMetadata("withChangesToNull.kt") public void testWithChangesToNull() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/testsWithStdLib/smartcasts/withChangesToNull.kt");