template <class T> class allocator; struct X { virtual allocator<char> f(); };