langtools/test/tools/javac/generics/inference/8152411/T8152411.java
author mcimadamore
Wed, 23 Mar 2016 16:59:02 +0000
changeset 36716 4e98efed865f
permissions -rw-r--r--
8152411: Regression: inference fails to reject incompatible upper bounds Summary: Wrong undet variable comparison in propagation optimization Reviewed-by: vromero
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
36716
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
     1
/*
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
     2
 * @test /nodynamiccopyright/
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
     3
 * @bug 8152411
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
     4
 * @summary Regression: nested unchecked call does not trigger erasure of return type
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
     5
 *
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
     6
 * @compile/fail/ref=T8152411.out -XDrawDiagnostics T8152411.java
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
     7
 */
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
     8
import java.util.List;
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
     9
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
    10
class T8152411 {
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
    11
        <A2 extends A, A> A m(List<? super A2> a2) { return null; }
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
    12
        <B> B g(B b) { return null; }
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
    13
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
    14
        void test() {
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
    15
                List<Integer> I = null;
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
    16
                String s = g(m(I));
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
    17
        }
4e98efed865f 8152411: Regression: inference fails to reject incompatible upper bounds
mcimadamore
parents:
diff changeset
    18
}