#include #include #include #if !( defined(__cpp_impl_three_way_comparison) && __cpp_impl_three_way_comparison >= 201907L ) BOOST_PRAGMA_MESSAGE( "Test skipped, because __cpp_impl_three_way_comparison is not >= 201907L" ) int main() {} #elif !__has_include() BOOST_PRAGMA_MESSAGE( "Test skipped because of !__has_include()" ) int main() {} #else struct non_comparable { }; template struct wrapper { T t{}; auto operator<=>(const wrapper&) const = default; }; int main() { using variant = boost::variant2::variant; using reference_wrapper = std::reference_wrapper; wrapper x, y; (void)(x < y); } #endif