From 3c20a7b82a86b3b604ca6d3729274a3cd781698d Mon Sep 17 00:00:00 2001 From: Mikhail Glukhikh Date: Sun, 26 Nov 2023 23:46:31 +0100 Subject: [PATCH] K1/K2: add test for KT-62959 --- ...nosticCompilerTestFE10TestdataTestGenerated.java | 6 ++++++ ...DiagnosticCompilerFE10TestDataTestGenerated.java | 6 ++++++ ...ightTreeOldFrontendDiagnosticsTestGenerated.java | 6 ++++++ .../FirPsiOldFrontendDiagnosticsTestGenerated.java | 6 ++++++ .../diagnostics/tests/capturedTypesSubtyping.fir.kt | 13 +++++++++++++ .../diagnostics/tests/capturedTypesSubtyping.kt | 13 +++++++++++++ .../test/runners/DiagnosticTestGenerated.java | 6 ++++++ 7 files changed, 56 insertions(+) create mode 100644 compiler/testData/diagnostics/tests/capturedTypesSubtyping.fir.kt create mode 100644 compiler/testData/diagnostics/tests/capturedTypesSubtyping.kt diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java index 9d78b60fb97..9d0fae35dc9 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/DiagnosticCompilerTestFE10TestdataTestGenerated.java @@ -165,6 +165,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia runTest("compiler/testData/diagnostics/tests/Builders.kt"); } + @Test + @TestMetadata("capturedTypesSubtyping.kt") + public void testCapturedTypesSubtyping() throws Exception { + runTest("compiler/testData/diagnostics/tests/capturedTypesSubtyping.kt"); + } + @Test @TestMetadata("Casts.kt") public void testCasts() throws Exception { diff --git a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java index 89d6e92476a..11d3ab6179e 100644 --- a/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java +++ b/analysis/low-level-api-fir/tests/org/jetbrains/kotlin/analysis/low/level/api/fir/diagnostic/compiler/based/LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated.java @@ -165,6 +165,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated runTest("compiler/testData/diagnostics/tests/Builders.kt"); } + @Test + @TestMetadata("capturedTypesSubtyping.kt") + public void testCapturedTypesSubtyping() throws Exception { + runTest("compiler/testData/diagnostics/tests/capturedTypesSubtyping.kt"); + } + @Test @TestMetadata("Casts.kt") public void testCasts() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java index 73ab5b46e9e..cafbec25b47 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirLightTreeOldFrontendDiagnosticsTestGenerated.java @@ -165,6 +165,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/tests/Builders.kt"); } + @Test + @TestMetadata("capturedTypesSubtyping.kt") + public void testCapturedTypesSubtyping() throws Exception { + runTest("compiler/testData/diagnostics/tests/capturedTypesSubtyping.kt"); + } + @Test @TestMetadata("Casts.kt") public void testCasts() throws Exception { diff --git a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java index 63e00aa3cc0..7b785be8731 100644 --- a/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java +++ b/compiler/fir/analysis-tests/tests-gen/org/jetbrains/kotlin/test/runners/FirPsiOldFrontendDiagnosticsTestGenerated.java @@ -165,6 +165,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/tests/Builders.kt"); } + @Test + @TestMetadata("capturedTypesSubtyping.kt") + public void testCapturedTypesSubtyping() throws Exception { + runTest("compiler/testData/diagnostics/tests/capturedTypesSubtyping.kt"); + } + @Test @TestMetadata("Casts.kt") public void testCasts() throws Exception { diff --git a/compiler/testData/diagnostics/tests/capturedTypesSubtyping.fir.kt b/compiler/testData/diagnostics/tests/capturedTypesSubtyping.fir.kt new file mode 100644 index 00000000000..a76932177bb --- /dev/null +++ b/compiler/testData/diagnostics/tests/capturedTypesSubtyping.fir.kt @@ -0,0 +1,13 @@ +// ISSUE: KT-62959 + +fun bar(x: Inv) { + x.foo { it } + x.bar { it.e() } +} + +interface Inv { + fun foo(x: (E) -> E) {} + fun bar(x: (Inv) -> E) {} + + fun e(): E = null!! +} diff --git a/compiler/testData/diagnostics/tests/capturedTypesSubtyping.kt b/compiler/testData/diagnostics/tests/capturedTypesSubtyping.kt new file mode 100644 index 00000000000..b0d72996785 --- /dev/null +++ b/compiler/testData/diagnostics/tests/capturedTypesSubtyping.kt @@ -0,0 +1,13 @@ +// ISSUE: KT-62959 + +fun bar(x: Inv) { + x.foo { it } + x.bar { it.e() } +} + +interface Inv { + fun foo(x: (E) -> E) {} + fun bar(x: (Inv) -> E) {} + + fun e(): E = null!! +} diff --git a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java index c74d2260cb0..87c27ae3c05 100644 --- a/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java +++ b/compiler/tests-common-new/tests-gen/org/jetbrains/kotlin/test/runners/DiagnosticTestGenerated.java @@ -165,6 +165,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/Builders.kt"); } + @Test + @TestMetadata("capturedTypesSubtyping.kt") + public void testCapturedTypesSubtyping() throws Exception { + runTest("compiler/testData/diagnostics/tests/capturedTypesSubtyping.kt"); + } + @Test @TestMetadata("Casts.kt") public void testCasts() throws Exception {