Type<*> is inferred now if Type<A> and Type<B> common supertype is Type<X> and X is not within parameter upper bound. #KT-7585 Fixed. #EA-68943 Fixed.

It provides also a fix for KT-7585 (empty type intersection assertion).
A set of relevant tests, one fixed test
This commit is contained in:
Mikhail Glukhikh
2015-04-27 11:27:57 +03:00
parent c90bcb41f3
commit 754f8af3fc
12 changed files with 418 additions and 2 deletions
@@ -11711,6 +11711,33 @@ public class JetDiagnosticsTestGenerated extends AbstractJetDiagnosticsTest {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/regressions/WrongTraceInCallResolver.kt");
doTest(fileName);
}
@TestMetadata("compiler/testData/diagnostics/tests/regressions/kt7585")
@TestDataPath("$PROJECT_ROOT")
@RunWith(JUnit3RunnerWithInners.class)
public static class Kt7585 extends AbstractJetDiagnosticsTest {
public void testAllFilesPresentInKt7585() throws Exception {
JetTestUtils.assertAllTestsPresentByMetadata(this.getClass(), new File("compiler/testData/diagnostics/tests/regressions/kt7585"), Pattern.compile("^(.+)\\.kt$"), true);
}
@TestMetadata("base.kt")
public void testBase() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/regressions/kt7585/base.kt");
doTest(fileName);
}
@TestMetadata("java.kt")
public void testJava() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/regressions/kt7585/java.kt");
doTest(fileName);
}
@TestMetadata("twoparents.kt")
public void testTwoparents() throws Exception {
String fileName = JetTestUtils.navigationMetadata("compiler/testData/diagnostics/tests/regressions/kt7585/twoparents.kt");
doTest(fileName);
}
}
}
@TestMetadata("compiler/testData/diagnostics/tests/resolve")