https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98842
--- Comment #7 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to GCC Commits from comment #3) > Adding that constrain completely breaks std::optional comparisons, > because it causes constraint recursion. To avoid that, an additional > check that U is not a specialization of std::optional is needed. That > appears to be a defect in the standard and should be reported to LWG. For the record, that is https://cplusplus.github.io/LWG/issue3566