@@ -178,8 +178,9 @@ constexpr bool operator==(recursive_wrapper<T, TA> const& lhs, recursive_wrapper
178178}
179179
180180template <class T , class TA , class U , class UA >
181- constexpr auto operator <=>(recursive_wrapper<T, TA> const & lhs, recursive_wrapper<U, UA> const & rhs) noexcept (synth_three_way_noexcept<T, U>)
182- -> synth_three_way_result_t <T, U>
181+ constexpr auto operator <=>(recursive_wrapper<T, TA> const & lhs, recursive_wrapper<U, UA> const & rhs)
182+ noexcept (noexcept (synth_three_way(*lhs, *rhs)))
183+ -> synth_three_way_result<T, U>
183184{
184185 if (lhs.valueless_after_move () || rhs.valueless_after_move ()) [[unlikely]] {
185186 return !lhs.valueless_after_move () <=> !rhs.valueless_after_move ();
@@ -200,7 +201,9 @@ constexpr bool operator==(recursive_wrapper<T, A> const& lhs, U const& rhs)
200201}
201202
202203template <class T , class A , class U >
203- constexpr auto operator <=>(recursive_wrapper<T, A> const & lhs, U const & rhs) noexcept (synth_three_way_noexcept<T, U>) -> synth_three_way_result_t <T, U>
204+ constexpr auto operator <=>(recursive_wrapper<T, A> const & lhs, U const & rhs)
205+ noexcept (noexcept (synth_three_way(*lhs, rhs)))
206+ -> synth_three_way_result<T, U>
204207{
205208 if (lhs.valueless_after_move ()) [[unlikely]] {
206209 return std::strong_ordering::less;
0 commit comments