[libcxx-commits] [PATCH] D103734: [libcxx][modularisation] moves <utility> content out of <type_traits>

Louis Dionne via Phabricator via libcxx-commits libcxx-commits at lists.llvm.org
Mon Jun 21 08:07:27 PDT 2021


ldionne requested changes to this revision.
ldionne added inline comments.
This revision now requires changes to proceed.


================
Comment at: libcxx/include/__utility/swap.h:33
+template <class _Tp>
+using __swap_result_t = typename enable_if<is_move_constructible<_Tp>::value && is_move_assignable<_Tp>::value>::type;
+#else
----------------
Could you make this change as a separate NFC commit? I really want those modularization changes to contain no change whatsoever to the code itself. By the way, did you make any other change to the code except the `std::forward` => `static_cast<T&&>` transformation?


================
Comment at: libcxx/include/type_traits:3869
 __invoke(_Fp&& __f, _A0&& __a0, _Args&& ...__args)
-_LIBCPP_INVOKE_RETURN((_VSTD::forward<_A0>(__a0).*__f)(_VSTD::forward<_Args>(__args)...))
 
----------------
I'd like to make this change as a separate NFC change, for the reason stated above.


================
Comment at: libcxx/test/support/poisoned_hash_helper.h:12
 
-#include <type_traits>
+#include <__utility/move.h> // TODO: replace with <utility> when std::hash is moved out of the header
 #include <cassert>
----------------
We should never be including implementation detail headers from the test suite. If we can't include `<utility>` right now, we should do the pre-requisite task before landing this patch.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D103734/new/

https://reviews.llvm.org/D103734



More information about the libcxx-commits mailing list