1// PR c++/56642
2
3template <class T> struct A;
4
5template <class T>
6A<T> f(T*) { return A<T>(); }
7
8template <class T>
9struct A
10{
11  friend A f<T>(T*);
12};
13
14int main()
15{
16  int *p = 0;
17  f(p);
18}
19