1 // PR c++/29236 2 3 template <typename T> struct A {}; 4 5 template <template <typename> class P> 6 struct B { 7 template <template <typename> class Q> 8 friend bool foo (const B<Q>& a); 9 }; 10 11 template <template <typename> class Q> 12 bool foo (const B<Q>& a); 13 bar()14void bar () { 15 B<A> a; 16 foo (a); 17 } 18