-
Notifications
You must be signed in to change notification settings - Fork 15.3k
Open
Labels
c++20chronoIssues related to std::chronoIssues related to std::chronolibc++libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.threadingissues related to threadingissues related to threading
Description
Link: https://wg21.link/p0355r7, https://eel.is/c++draft/thread.req.paramname
Affected components:
-
this_thread::sleep_until[thread.thread.this] -
timed_mutex::try_lock_until[thread.timedmutex.recursive] -
recursive_timed_mutex::try_lock_until[thread.timedmutex.recursive] -
shared_timed_mutex::try_lock_until[thread.sharedtimedmutex.class] -
shared_timed_mutex::try_lock_shared_until[thread.sharedtimedmutex.class] -
unique_lock's constructor fromtime_point[thread.lock.unique.cons] -
unique_lock::try_lock_until[thread.lock.unique.locking] -
shared_lock's constructor fromtime_point[thread.lock.shared.cons] -
shared_lock::try_lock_until[thread.lock.shared.locking] -
condition_variable::wait_until[thread.condition.condvar] -
condition_variable_any::wait_until[thread.condvarany.wait], [thread.condvarany.intwait] -
counting_semaphore::try_acquire_until[thread.sema.cnt] -
future::wait_until[futures.unique.future] -
shared_future::wait_until[futures.shared.future]
Remarks:
- We should not reject non-clock types in
time_point, per P2212R2. is_clock_vis a C++20 feature, but most of affected components have been present before C++20. So we should either- guard the
static_assert's with_LIBCPP_STD_VER >= 20, or - create an equivalent internal variable template and use it in
static_assert's before C++20.
- guard the
Metadata
Metadata
Assignees
Labels
c++20chronoIssues related to std::chronoIssues related to std::chronolibc++libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.libc++ C++ Standard Library. Not GNU libstdc++. Not libc++abi.threadingissues related to threadingissues related to threading