[libcxx-commits] [PATCH] D103734: [libcxx] moves <utility> content out of <type_traits> and into their own headers
Louis Dionne via Phabricator via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jun 8 13:46:21 PDT 2021
ldionne added a comment.
Recording offline discussion with Chris about how to move this forward:
1. Use `static_cast<T&&>` instead of `std::forward` in `<type_traits>` (this should only impact the implementation of `__invoke`)
2. Forward declare `std::swap` in `<type_traits>` just to implement the `is_XXX_swappable_with` traits
Now, `<type_traits>` should not depend on `<utility>` anymore (to validate). So then:
3. Move things that should be in `<utility>` but that are defined in `<type_traits>` out of `<type_traits>`
This should allow us to not move anything that belongs into `<type_traits>` (according to the standard) outside of `<type_traits>`.
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