class Test { class A {} class B extends A {} void f() { B b = new B(); C l = asC(new A[]{b}); A a = new A(); C m = asC(new A[]{a}); } public static C asC(T... ts) { return null; } class C {} }