langtools/test/tools/javac/generics/inference/7086586/T7086586.java
author mcimadamore
Fri, 16 Sep 2011 14:16:11 +0100
changeset 10634 7f15f5a11ae9
permissions -rw-r--r--
7086586: Inference producing null type argument Summary: Inference should fail in 15.12.2.7 when inference variables with 'nulltype' upper bounds are found Reviewed-by: dlsmith
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10634
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
     1
/**
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
     2
 * @test /nodynamiccopyright/
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
     3
 * @bug 7086586
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
     4
 * @summary Inference producing null type argument
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
     5
 * @compile/fail/ref=T7086586.out -XDrawDiagnostics T7086586.java
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
     6
 */
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
     7
import java.util.List;
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
     8
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
     9
class T7086586 {
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
    10
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
    11
    <T> List<T> m(List<? super T> dummy) { return null; }
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
    12
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
    13
    void test(List<?> l) {
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
    14
        String s = m(l).get(0);
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
    15
        Number n = m(l).get(0);
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
    16
        Exception e = m(l).get(0);
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
    17
        m(l).nonExistentMethod();
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
    18
    }
7f15f5a11ae9 7086586: Inference producing null type argument
mcimadamore
parents:
diff changeset
    19
}