// { 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" }