1// PR 12337
2
3class A {};
4
5template <typename T>
6class X : public A {
7public:
8  X(T&);
9};
10
11class B {
12public:
13  bool foo(A*);
14  template <typename T>
15  bool foo(T& t) { return foo(new X<T>(t)); }
16};
17
18int main()
19{
20  B x, y;
21  x.foo(y);
22}
23