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