30 lines
730 B
Java
30 lines
730 B
Java
|
/*
|
||
|
* @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
|
||
|
}
|
||
|
}
|