abstract class A { abstract > T foo(T y); { A a = null; foo(a); } }