3653. <coroutine> is freestanding, but uses std::hash which is not

Section: 17.12.2 [coroutine.syn] Status: New Submitter: Jonathan Wakely Opened: 2021-12-17 Last modified: 2022-01-30

Priority: 3

View all other issues in [coroutine.syn].

View all issues with New status.

Discussion:

The <coroutine> header is required for freestanding implementations, but it defines a specialization of std::hash, which is not required for freestanding implementations.

Presumably we should make the std::hash specialization conditionally present.

[2022-01-30; Reflector poll]

Set priority to 3 after reflector poll. Would be resolved by P1642 for C++23, but it's still a defect in C++20.

Proposed resolution: