// PR 12337 class A {}; template class X : public A { public: X(T&); }; class B { public: bool foo(A*); template bool foo(T& t) { return foo(new X(t)); } }; int main() { B x, y; x.foo(y); }