17 Language support library [support]
#include <compare>
namespace std {
template<class R, class... ArgTypes>
struct coroutine_traits;
template<class Promise = void>
struct coroutine_handle;
constexpr bool operator==(coroutine_handle<> x, coroutine_handle<> y) noexcept;
constexpr strong_ordering operator<=>(coroutine_handle<> x, coroutine_handle<> y) noexcept;
template<class T> struct hash;
template<class P> struct hash<coroutine_handle<P>>;
struct noop_coroutine_promise;
template<> struct coroutine_handle<noop_coroutine_promise>;
using noop_coroutine_handle = coroutine_handle<noop_coroutine_promise>;
noop_coroutine_handle noop_coroutine() noexcept;
struct suspend_never;
struct suspend_always;
}