diff --git a/compiler/testData/diagnostics/tests/generics/projectionsScope/iterateOnExtension.kt b/compiler/testData/diagnostics/tests/generics/projectionsScope/iterateOnExtension.kt new file mode 100644 index 00000000000..28aa35be026 --- /dev/null +++ b/compiler/testData/diagnostics/tests/generics/projectionsScope/iterateOnExtension.kt @@ -0,0 +1,11 @@ +class A +fun A.foo(): Collection = null!! + +fun main(a: A<*>, a1: A) { + // see KT-9571 + for (i in a.foo()) { } + for (i: Any? in a.foo()) { } + + for (i in a1.foo()) { } + for (i: CharSequence in a1.foo()) { } +} diff --git a/compiler/testData/diagnostics/tests/generics/projectionsScope/iterateOnExtension.txt b/compiler/testData/diagnostics/tests/generics/projectionsScope/iterateOnExtension.txt new file mode 100644 index 00000000000..b7f74e8b149 --- /dev/null +++ b/compiler/testData/diagnostics/tests/generics/projectionsScope/iterateOnExtension.txt @@ -0,0 +1,11 @@ +package + +public fun main(/*0*/ a: A<*>, /*1*/ a1: A): kotlin.Unit +public fun A.foo(): kotlin.collections.Collection + +public final class A { + public constructor A() + public open override /*1*/ /*fake_override*/ fun equals(/*0*/ other: kotlin.Any?): kotlin.Boolean + public open override /*1*/ /*fake_override*/ fun hashCode(): kotlin.Int + public open override /*1*/ /*fake_override*/ fun toString(): kotlin.String +} diff --git a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java index cf0befbc854..6a21439115b 100644 --- a/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java +++ b/compiler/tests/org/jetbrains/kotlin/checkers/DiagnosticsTestGenerated.java @@ -7322,6 +7322,12 @@ public class DiagnosticsTestGenerated extends AbstractDiagnosticsTest { doTest(fileName); } + @TestMetadata("iterateOnExtension.kt") + public void testIterateOnExtension() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/generics/projectionsScope/iterateOnExtension.kt"); + doTest(fileName); + } + @TestMetadata("kt7296.kt") public void testKt7296() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/generics/projectionsScope/kt7296.kt");