HomePhabricator

[libc++] [P1065] Constexpr invoke, reference_wrapper, mem_fn, not_fn…

Authored by arthur.j.odwyer on Dec 25 2020, 11:48 AM.

Description

[libc++] [P1065] Constexpr invoke, reference_wrapper, mem_fn, not_fn, default_searcher.

This completes the implementation of P1065 "constexpr INVOKE":
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2019/p1065r2.html

This doesn't yet complete the implementation of P1032 "Misc constexpr bits,"
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p1032r1.html
but it does complete all of the <functional> bits, which means
that we can now set __cpp_lib_constexpr_functional for C++20.

This could use more constexpr tests for std::reference_wrapper<T>,
but the existing tests are extremely non-constexpr-friendly and
so I don't want to get into that rabbit-hole today.

Differential Revision: https://reviews.llvm.org/D93815