In P1135r3, the atomic_int_fast_wait_t and atomic_uint_fast_wait_t type aliases were removed. The paper’s changelog explains why:
Removed atomic_int_fast_wait_t and atomic_uint_fast_wait_t, because LEWG at San Diego 2018 felt that the use case was uncommon and the types had high potential for misuse.
We think this decision warrants reconsideration. On some platforms, certain implementation strategies for wait/notify are only available for certain sized integer types (for example, Linux’s futex is for int only)
Proposed change:
Re-add P1135r2’s atomic_int_fast_wait_t and atomic_uint_fast_wait_t.
In P1135r3, the atomic_int_fast_wait_t and atomic_uint_fast_wait_t type aliases were removed. The paper’s changelog explains why: Removed atomic_int_fast_wait_t and atomic_uint_fast_wait_t, because LEWG at San Diego 2018 felt that the use case was uncommon and the types had high potential for misuse. We think this decision warrants reconsideration. On some platforms, certain implementation strategies for wait/notify are only available for certain sized integer types (for example, Linux’s futex is for int only)
Proposed change: Re-add P1135r2’s atomic_int_fast_wait_t and atomic_uint_fast_wait_t.