https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97216
--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #2) > It is ill-formed, because operator<=> can't return bool. And that's because <=> has to say if one operand is greater, equal, or less than the other. A bool can't encode three states. You probably want to use "auto" as the return type.