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