/* * @test /nodynamiccopyright/ * @author mcimadamore * @bug 7005671 * @summary Regression: compiler accepts invalid cast from X[] to primitive array * @compile/fail/ref=T7005671.out -XDrawDiagnostics T7005671.java */ class T7005671<X> { void test1() { Object o1 = (X[])(byte[])null; Object o2 = (X[])(short[])null; Object o3 = (X[])(int[])null; Object o4 = (X[])(long[])null; Object o5 = (X[])(float[])null; Object o6 = (X[])(double[])null; Object o7 = (X[])(char[])null; Object o8 = (X[])(boolean[])null; } void test2() { Object o1 = (byte[])(X[])null; Object o2 = (short[])(X[])null; Object o3 = (int[])(X[])null; Object o4 = (long[])(X[])null; Object o5 = (float[])(X[])null; Object o6 = (double[])(X[])null; Object o7 = (char[])(X[])null; Object o8 = (boolean[])(X[])null; } }