/** * @test /nodynamiccopyright/ * @bug 6747671 8022567 * @summary -Xlint:rawtypes * @compile/ref=T6747671.out -XDrawDiagnostics -Xlint:rawtypes T6747671.java */ class T6747671<E> { static class B<X> {} class A<X> { class X {} class Z<Y> {} } A.X x1;//raw warning A.Z z1;//raw warning T6747671.B<Integer> b1;//ok T6747671.B b2;//raw warning A<String>.X x2;//ok A<String>.Z<Integer> z2;//ok A<B>.Z<A<B>> z3;//raw warning (2) void test(Object arg1, B arg2) {//raw warning boolean b = arg1 instanceof A;//ok Object a = (A)arg1;//ok A a2 = new A() {};//raw warning (2) a2.new Z() {};//raw warning } @TA B @TA[] arr = new @TA B @TA [0];//JDK-8022567: raw warning (2) //todo: 8057688 type annotations in type argument position are lost Class<B[]> classes1;//no warning Class<B>[] classes2;//no warning @java.lang.annotation.Target(java.lang.annotation.ElementType.TYPE_USE) @interface TA { } }