// { dg-do compile { target concepts } } | |
template<class T> requires T::value struct A { }; | |
template<class T> requires T::value struct B { }; // { dg-error "private" } | |
struct S { | |
private: | |
static constexpr bool value = true; | |
template<class T> requires T::value friend struct A; | |
}; | |
A<S> x; | |
B<S> y; // { dg-error "constraint" } |