1 // PR c++/56971
2 
3 template <typename T>
4 class rp {
5 };
6 
7 template <template <typename> class P>
8 struct b {
9     template <class, template <typename> class FriendP>
10     friend void f(b<FriendP> from);
11 };
12 
13 template <class, template <typename> class P>
f(b<P> from)14 void f(b<P> from) {
15 }
16 
main()17 int main() {
18     b<rp> v;
19     f<int>(v);
20     return 0;
21 }
22