This gives an error:
template <class T, T A, T B>
requires A > B // <-- error
class X{};
error: parentheses are required around this expression in a requires clause
requires A < B ~~^~~ ( )
Almost all operators give this error (requires A > B, requires A == B, requires A & B, requires !A)
However && and || seem to work:
template <class T, T A, T B>
requires A && B // <-- ok
class X{};
Testes with gcc trunk and clang trunk (on May 2020) on godbolt. Both compilers give the same results.