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 d850c18772d..b74968d744a 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 @@ -18043,6 +18043,12 @@ public class DiagnosticCompilerTestFE10TestdataTestGenerated extends AbstractDia runTest("compiler/testData/diagnostics/tests/inference/capturedTypes/propagateNullailityOnSupertypesWhenCaptureTypes.kt"); } + @Test + @TestMetadata("selfTypeTypeHole.kt") + public void testSelfTypeTypeHole() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/capturedTypes/selfTypeTypeHole.kt"); + } + @Test @TestMetadata("starProjectionRegression.kt") public void testStarProjectionRegression() 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 dd73bca2fc7..72c065a6da1 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 @@ -18043,6 +18043,12 @@ public class LLFirPreresolvedReversedDiagnosticCompilerFE10TestDataTestGenerated runTest("compiler/testData/diagnostics/tests/inference/capturedTypes/propagateNullailityOnSupertypesWhenCaptureTypes.kt"); } + @Test + @TestMetadata("selfTypeTypeHole.kt") + public void testSelfTypeTypeHole() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/capturedTypes/selfTypeTypeHole.kt"); + } + @Test @TestMetadata("starProjectionRegression.kt") public void testStarProjectionRegression() 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 981768ced84..87f71856d9d 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 @@ -18037,6 +18037,12 @@ public class FirLightTreeOldFrontendDiagnosticsTestGenerated extends AbstractFir runTest("compiler/testData/diagnostics/tests/inference/capturedTypes/propagateNullailityOnSupertypesWhenCaptureTypes.kt"); } + @Test + @TestMetadata("selfTypeTypeHole.kt") + public void testSelfTypeTypeHole() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/capturedTypes/selfTypeTypeHole.kt"); + } + @Test @TestMetadata("starProjectionRegression.kt") public void testStarProjectionRegression() 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 465ab241dfc..73f7652100d 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 @@ -18043,6 +18043,12 @@ public class FirPsiOldFrontendDiagnosticsTestGenerated extends AbstractFirPsiDia runTest("compiler/testData/diagnostics/tests/inference/capturedTypes/propagateNullailityOnSupertypesWhenCaptureTypes.kt"); } + @Test + @TestMetadata("selfTypeTypeHole.kt") + public void testSelfTypeTypeHole() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/capturedTypes/selfTypeTypeHole.kt"); + } + @Test @TestMetadata("starProjectionRegression.kt") public void testStarProjectionRegression() throws Exception { diff --git a/compiler/testData/diagnostics/tests/inference/capturedTypes/selfTypeTypeHole.fir.kt b/compiler/testData/diagnostics/tests/inference/capturedTypes/selfTypeTypeHole.fir.kt new file mode 100644 index 00000000000..126ee34252e --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/capturedTypes/selfTypeTypeHole.fir.kt @@ -0,0 +1,22 @@ +// ISSUE: KT-62956 + +abstract class Builder>(var s: S) { + fun test(x: T): T { + s = x.s + return x + } +} + +class BS : Builder("") +class BI : Builder(1) + +fun bar(b: Builder, bb: Builder<*, *>) { + b.test<Builder<*, *>>(bb) +} + +fun main() { + val b = BS() + bar(b, BI()) + + b.s.length +} \ No newline at end of file diff --git a/compiler/testData/diagnostics/tests/inference/capturedTypes/selfTypeTypeHole.kt b/compiler/testData/diagnostics/tests/inference/capturedTypes/selfTypeTypeHole.kt new file mode 100644 index 00000000000..ebe82e81137 --- /dev/null +++ b/compiler/testData/diagnostics/tests/inference/capturedTypes/selfTypeTypeHole.kt @@ -0,0 +1,22 @@ +// ISSUE: KT-62956 + +abstract class Builder>(var s: S) { + fun test(x: T): T { + s = x.s + return x + } +} + +class BS : Builder("") +class BI : Builder(1) + +fun bar(b: Builder, bb: Builder<*, *>) { + b.test>(bb) +} + +fun main() { + val b = BS() + bar(b, BI()) + + b.s.length +} 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 ac9844f3a38..0370b5f2fc6 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 @@ -18043,6 +18043,12 @@ public class DiagnosticTestGenerated extends AbstractDiagnosticTest { runTest("compiler/testData/diagnostics/tests/inference/capturedTypes/propagateNullailityOnSupertypesWhenCaptureTypes.kt"); } + @Test + @TestMetadata("selfTypeTypeHole.kt") + public void testSelfTypeTypeHole() throws Exception { + runTest("compiler/testData/diagnostics/tests/inference/capturedTypes/selfTypeTypeHole.kt"); + } + @Test @TestMetadata("starProjectionRegression.kt") public void testStarProjectionRegression() throws Exception {