1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
// { dg-do compile { target c++20 } } // { dg-additional-options "-fconcepts" } struct A { template <class T> double operator()(T x) const { return 0; } }; template <class X> concept C = requires { &X::operator(); }; int main() { static_assert(!C<A>); return 0; }