[PATCH] D54485: [libcxx] Implement P0318R1: unwrap_ref_decay and unwrap_reference
Eric Fiselier via Phabricator
reviews at reviews.llvm.org
Tue Nov 13 21:20:57 PST 2018
EricWF requested changes to this revision.
EricWF added inline comments.
This revision now requires changes to proceed.
Comment at: libcxx/include/functional:2536
+#if _LIBCPP_STD_VER > 17
> Is this a viable implementation strategy? The nice part is that this allows us to reuse these metafunctions to implement `make_tuple` and `make_pair` before C++20, but IDK whether the standard allows us to bring these names into namespace `std` with a `using` declaration?
> Is that observable (e.g. through ADL associated namespaces)?
After more thought: No, this is not viable.
I believe these are technically customization points for users, so it needs to have the same declaration as in the standard, not just the same spelling.
I guess the best route is to have `__foo` for use pre-C++20, and the we can implement `foo` in terms of `__foo`?
More information about the libcxx-commits