I get: "error: defaulted definition of three-way comparison operator cannot be declared constexpr because for which the corresponding implicit 'operator==' invokes a non-constexpr comparison function"
Maybe this meant to say something like "error: defaulted definition of three-way comparison operator cannot be declared constexpr because the corresponding implicit 'operator==' invokes a non-constexpr comparison function"? Or "error: defaulted definition of three-way comparison operator cannot be declared constexpr because it invokes a corresponding implicit 'operator==' which is not constexpr"? Not sure exactly what wording corresponds precisely with the underlying behavior.
The following code generates a garbled error message (compile with -std=c++20 -Wno-defaulted-function-deleted):
Live repro: https://godbolt.org/z/rTd1eMrM9
I get: "error: defaulted definition of three-way comparison operator cannot be declared constexpr because for which the corresponding implicit 'operator==' invokes a non-constexpr comparison function"
Maybe this meant to say something like "error: defaulted definition of three-way comparison operator cannot be declared constexpr because the corresponding implicit 'operator==' invokes a non-constexpr comparison function"? Or "error: defaulted definition of three-way comparison operator cannot be declared constexpr because it invokes a corresponding implicit 'operator==' which is not constexpr"? Not sure exactly what wording corresponds precisely with the underlying behavior.