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