https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104141

--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> ---
(In reply to Fedor Chelnokov from comment #4)
> A::f() does not depend on template parameter, so the rules here are somewhat
> different than in T::f(). A possible answer:
> https://stackoverflow.com/a/70783451/7325599

But clang is not rejecting it the following:

class A{
   static void f();
};
template <class T> concept t =  requires{ A::f(); };
static_assert( !t<A> );

By saying A::f() is private even, it literally sets the concept to false and
nothing else which is really really shocking.

Reply via email to