https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93650
--- Comment #1 from Arseny Solokha <asolokha at gmx dot com> --- W/o <compare>: namespace std { using type = enum _Ord { less }; class strong_ordering { type _M_value; constexpr strong_ordering(_Ord) : _M_value() {} static const strong_ordering less; static strong_ordering equal; static strong_ordering greater; } constexpr strong_ordering::less(_Ord::less); auto v = 1 <=> 2; }