// { dg-do compile { target c++20 } } | |
#include <compare> | |
#define assert(X) do { if (!(X)) __builtin_abort(); } while(0) | |
void f(){} | |
void g(){} | |
int main() | |
{ | |
{ | |
const auto v = &f <=> &g; // { dg-error "invalid operands" } | |
} | |
{ | |
struct A { int i; int j; }; | |
constexpr auto v = &A::i <=> &A::j; // { dg-error "invalid operands" } | |
} | |
{ | |
struct A { void f(); }; | |
constexpr auto v = &A::f <=> &A::f; // { dg-error "invalid operands" } | |
} | |
} |