1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
// { dg-do run } void foo(){} namespace Bar{ template<class X> class Y{ friend void foo(Y<X>){} }; } int main() { Bar::Y<int> y; foo(y); foo(); }