https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101485
--- Comment #4 from Jonathan Wakely <redi at gcc dot gnu.org> ---
It's valid for std::byte because we know what equality means for std::byte.
You could maaaaaaybe do something like:
template<typename T>
concept is_sane_enum = is_enum_v<T> && (!requires { &operator==(E,E); });
but I'm not confident enough that it wouldn't miss some cases and allow
std::equal to do use memcmp when it shouldn't.
