https://godbolt.org/z/cMKE3o1aG
According to the issue https://github.com/llvm/llvm-project/issues/63960 , compiler falsely complains that no viable operator<=> was found while we are actually looking for a operator==.
This bug has been fixed through adding a check of the OverloadedOperatorKind type's object, OO, to see if it is OO_EqualEqual in addition to OO_ExclaimEqual.