| // { dg-do run { target c++20 } } | |
| struct D | |
| { | |
| int i; | |
| bool operator==(const D& x) const = default; // OK, returns x.i == y.i | |
| bool operator!=(const D& z) const = default; // OK, returns !(*this == z) | |
| }; | |
| #define assert(X) do { if (!(X)) __builtin_abort(); } while (0) | |
| int main() | |
| { | |
| D d{42}; | |
| assert (d == d); | |
| assert (!(d != d)); | |
| } |