// { dg-do compile { target c++17_only } } | |
// { dg-options "-fconcepts" } | |
// Conceptized version of template/ttp23.C | |
template <class T> concept bool Foo = true; | |
template <typename T> struct A {}; | |
template <template <Foo> class P> | |
struct B { | |
template <template <Foo> class Q> | |
friend bool foo (const B<Q>& a); | |
}; | |
template <template <typename> class Q> | |
bool foo (const B<Q>& a); | |
void bar () { | |
B<A> a; | |
foo (a); | |
} |