inference: simplify bounds check; ensure fresh variables are treated as same, important e.g. in case of diamond operator when inferred types are new each time they are computed (IDEA-131066)

(cherry picked from commit 517c299e336e38bc20d3478191279be2176fbd9b)
This commit is contained in:
Anna Kozlova
2014-10-13 19:33:33 +02:00
parent b2a07e2eee
commit b2ea4c6e79
7 changed files with 54 additions and 23 deletions
@@ -0,0 +1,15 @@
class Builders {
public static A foo() {
return new A.Builder<>().create();
}
static class A<K extends A.Builder<K>> {
public static class Builder<T extends Builder<T>> {
public A<T> create() {
return null;
}
}
}
}
@@ -0,0 +1,15 @@
class Builders {
public static A foo() {
return new A.Builder<>().create();
}
static class A<K extends A.Builder<K>> {
public static class Builder<T extends Builder<T>> {
public A<T> create() {
return null;
}
}
}
}