langtools/test/tools/javac/generics/inference/8062977/T8062977.java
author hseigel
Wed, 02 Mar 2016 23:48:41 +0000
changeset 36397 c487ced7231c
parent 27391 17f7b6c40c6d
permissions -rw-r--r--
Merge

/*
 * @test /nodynamiccopyright/
 * @bug 8062977
 * @summary Inference: NullPointerException during bound incorporation
 *
 * @compile/fail/ref=T8062977.out -XDrawDiagnostics T8062977.java
 */

import java.util.List;

class T8062977 {
    <T extends B, B> T m(Class<B> cb) { return null; }

    void test1(Class<Iterable<?>> cb) {
        List<Integer>[] r1 = m(cb); //fail
        List<Integer> r2 = m(cb); //ok
    }

    void test2(Class<Iterable<?>[]> cb) {
        List<Integer>[] r1 = m(cb); //ok
        List<Integer> r2 = m(cb); //fail
    }

    void test3(Class<Iterable<?>[][]> cb) {
        List<Integer>[][] r1 = m(cb); //ok
        List<Integer>[] r2 = m(cb); //fail
        List<Integer> r3 = m(cb); //fail
    }
}