llvm-project
07a9dae4 - [libc++] Implement LWG3476: Remove incorrect decay-copy in std::async and add QoI static_assert improvements (#173363)

Commit
6 days ago
[libc++] Implement LWG3476: Remove incorrect decay-copy in std::async and add QoI static_assert improvements (#173363) Fixes https://github.com/llvm/llvm-project/issues/104307 This patch implements LWG3476 by removing the incorrect decay-copy in std::async. The decay-copy was being applied twice, once explicitly via _LIBCPP_AUTO_CAST and once in __async_func's tuple constructor. (https://github.com/llvm/llvm-project/issues/143828) It also adds static_assert mandates to std::thread and std::async (which were already implicitly enforced) and expands test coverage.
Author
Parents
Loading