[libcxx-commits] [libcxx] [libc++][NFC] Merge is{, _nothrow, _trivially}{, _copy, _move, _default}{_assignable, _constructible} (PR #85308)
via libcxx-commits
libcxx-commits at lists.llvm.org
Thu Mar 14 16:41:50 PDT 2024
- Previous message: [libcxx-commits] [libcxx] [libc++][NFC] Merge is{, _nothrow, _trivially}{, _copy, _move, _default}{_assignable, _constructible} (PR #85308)
- Next message: [libcxx-commits] [libcxx] [libc++][NFC] Merge is{, _nothrow, _trivially}{, _copy, _move, _default}{_assignable, _constructible} (PR #85308)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
llvmbot wrote:
<!--LLVM PR SUMMARY COMMENT-->
@llvm/pr-subscribers-libcxx
Author: Nikolas Klauser (philnik777)
<details>
<summary>Changes</summary>
These headers have become very small by using compiler builtins, often
containing only two declarations. This merges these headers, since
there doesn't seem to be much of a benefit keeping them separate.
Specifically, `is_{,_nothrow,_trivially}{assignable,constructible}` are
kept and the `copy`, `move` and `default` versions of these type traits
are moved in to the respective headers.
---
Patch is 79.71 KiB, truncated to 20.00 KiB below, full version: https://github.com/llvm/llvm-project/pull/85308.diff
79 Files Affected:
- (modified) libcxx/include/CMakeLists.txt (-15)
- (modified) libcxx/include/__algorithm/copy_backward.h (+1-1)
- (modified) libcxx/include/__algorithm/copy_move_common.h (+1-1)
- (modified) libcxx/include/__algorithm/equal_range.h (+1-1)
- (modified) libcxx/include/__algorithm/lexicographical_compare_three_way.h (+1-1)
- (modified) libcxx/include/__algorithm/move.h (+1-1)
- (modified) libcxx/include/__algorithm/move_backward.h (+1-1)
- (modified) libcxx/include/__algorithm/partial_sort.h (+2-2)
- (modified) libcxx/include/__algorithm/pop_heap.h (+2-2)
- (modified) libcxx/include/__algorithm/push_heap.h (+2-2)
- (modified) libcxx/include/__algorithm/rotate.h (+1-1)
- (modified) libcxx/include/__algorithm/sort_heap.h (+2-2)
- (modified) libcxx/include/__algorithm/stable_sort.h (+1-1)
- (modified) libcxx/include/__algorithm/unwrap_iter.h (+1-1)
- (modified) libcxx/include/__algorithm/upper_bound.h (+1-1)
- (modified) libcxx/include/__atomic/atomic_base.h (+1-1)
- (modified) libcxx/include/__concepts/swappable.h (+2-2)
- (modified) libcxx/include/__exception/nested_exception.h (+1-1)
- (modified) libcxx/include/__expected/expected.h (+2-12)
- (modified) libcxx/include/__functional/bind_front.h (-1)
- (modified) libcxx/include/__functional/function.h (+1-1)
- (modified) libcxx/include/__functional/hash.h (+1-3)
- (modified) libcxx/include/__functional/not_fn.h (-1)
- (modified) libcxx/include/__hash_table (+2-5)
- (modified) libcxx/include/__iterator/cpp17_iterator_concepts.h (+1-3)
- (modified) libcxx/include/__iterator/reverse_iterator.h (+1-1)
- (modified) libcxx/include/__mdspan/mdspan.h (-1)
- (modified) libcxx/include/__memory/allocator_traits.h (+1-2)
- (modified) libcxx/include/__memory/compressed_pair.h (+1-1)
- (modified) libcxx/include/__memory/shared_ptr.h (+1-1)
- (modified) libcxx/include/__memory/uninitialized_algorithms.h (+2-4)
- (modified) libcxx/include/__memory/unique_ptr.h (-1)
- (modified) libcxx/include/__mutex/mutex.h (+1-1)
- (modified) libcxx/include/__ranges/iota_view.h (+1-1)
- (modified) libcxx/include/__ranges/movable_box.h (-2)
- (modified) libcxx/include/__ranges/zip_view.h (+1-1)
- (modified) libcxx/include/__split_buffer (+2-3)
- (modified) libcxx/include/__tree (+3-5)
- (modified) libcxx/include/__type_traits/is_assignable.h (+23)
- (modified) libcxx/include/__type_traits/is_constructible.h (+30)
- (removed) libcxx/include/__type_traits/is_copy_assignable.h (-36)
- (removed) libcxx/include/__type_traits/is_copy_constructible.h (-35)
- (removed) libcxx/include/__type_traits/is_default_constructible.h (-31)
- (modified) libcxx/include/__type_traits/is_implicitly_default_constructible.h (+1-1)
- (removed) libcxx/include/__type_traits/is_move_assignable.h (-34)
- (removed) libcxx/include/__type_traits/is_move_constructible.h (-33)
- (modified) libcxx/include/__type_traits/is_nothrow_assignable.h (+25)
- (modified) libcxx/include/__type_traits/is_nothrow_constructible.h (+54)
- (removed) libcxx/include/__type_traits/is_nothrow_copy_assignable.h (-36)
- (removed) libcxx/include/__type_traits/is_nothrow_copy_constructible.h (-48)
- (removed) libcxx/include/__type_traits/is_nothrow_default_constructible.h (-32)
- (removed) libcxx/include/__type_traits/is_nothrow_move_assignable.h (-36)
- (removed) libcxx/include/__type_traits/is_nothrow_move_constructible.h (-45)
- (modified) libcxx/include/__type_traits/is_swappable.h (+4-4)
- (modified) libcxx/include/__type_traits/is_trivially_assignable.h (+25)
- (modified) libcxx/include/__type_traits/is_trivially_constructible.h (+29)
- (removed) libcxx/include/__type_traits/is_trivially_copy_assignable.h (-36)
- (removed) libcxx/include/__type_traits/is_trivially_copy_constructible.h (-33)
- (removed) libcxx/include/__type_traits/is_trivially_default_constructible.h (-32)
- (removed) libcxx/include/__type_traits/is_trivially_move_assignable.h (-36)
- (removed) libcxx/include/__type_traits/is_trivially_move_constructible.h (-33)
- (modified) libcxx/include/__type_traits/noexcept_move_assign_container.h (+1-1)
- (modified) libcxx/include/__utility/exception_guard.h (+1-1)
- (modified) libcxx/include/__utility/exchange.h (+1-1)
- (modified) libcxx/include/__utility/move.h (+2-2)
- (modified) libcxx/include/__utility/pair.h (-7)
- (modified) libcxx/include/__utility/small_buffer.h (+1-1)
- (modified) libcxx/include/__utility/swap.h (+4-4)
- (modified) libcxx/include/any (+1-2)
- (modified) libcxx/include/array (-2)
- (modified) libcxx/include/forward_list (+2-3)
- (modified) libcxx/include/list (+2-3)
- (modified) libcxx/include/module.modulemap (+3-19)
- (modified) libcxx/include/optional (+4-10)
- (modified) libcxx/include/string (+2-2)
- (modified) libcxx/include/tuple (-9)
- (modified) libcxx/include/type_traits (-15)
- (modified) libcxx/include/variant (+4-6)
- (modified) libcxx/include/vector (+1-1)
``````````diff
diff --git a/libcxx/include/CMakeLists.txt b/libcxx/include/CMakeLists.txt
index 63adc03fae2980..6ed8d21d98a15a 100644
--- a/libcxx/include/CMakeLists.txt
+++ b/libcxx/include/CMakeLists.txt
@@ -755,10 +755,7 @@ set(files
__type_traits/is_constant_evaluated.h
__type_traits/is_constructible.h
__type_traits/is_convertible.h
- __type_traits/is_copy_assignable.h
- __type_traits/is_copy_constructible.h
__type_traits/is_core_convertible.h
- __type_traits/is_default_constructible.h
__type_traits/is_destructible.h
__type_traits/is_empty.h
__type_traits/is_enum.h
@@ -774,17 +771,10 @@ set(files
__type_traits/is_member_function_pointer.h
__type_traits/is_member_object_pointer.h
__type_traits/is_member_pointer.h
- __type_traits/is_move_assignable.h
- __type_traits/is_move_constructible.h
__type_traits/is_nothrow_assignable.h
__type_traits/is_nothrow_constructible.h
__type_traits/is_nothrow_convertible.h
- __type_traits/is_nothrow_copy_assignable.h
- __type_traits/is_nothrow_copy_constructible.h
- __type_traits/is_nothrow_default_constructible.h
__type_traits/is_nothrow_destructible.h
- __type_traits/is_nothrow_move_assignable.h
- __type_traits/is_nothrow_move_constructible.h
__type_traits/is_null_pointer.h
__type_traits/is_object.h
__type_traits/is_pod.h
@@ -805,14 +795,9 @@ set(files
__type_traits/is_trivial.h
__type_traits/is_trivially_assignable.h
__type_traits/is_trivially_constructible.h
- __type_traits/is_trivially_copy_assignable.h
- __type_traits/is_trivially_copy_constructible.h
__type_traits/is_trivially_copyable.h
- __type_traits/is_trivially_default_constructible.h
__type_traits/is_trivially_destructible.h
__type_traits/is_trivially_lexicographically_comparable.h
- __type_traits/is_trivially_move_assignable.h
- __type_traits/is_trivially_move_constructible.h
__type_traits/is_trivially_relocatable.h
__type_traits/is_unbounded_array.h
__type_traits/is_union.h
diff --git a/libcxx/include/__algorithm/copy_backward.h b/libcxx/include/__algorithm/copy_backward.h
index 3ec88d8bd5cc3a..591dd21e2b032e 100644
--- a/libcxx/include/__algorithm/copy_backward.h
+++ b/libcxx/include/__algorithm/copy_backward.h
@@ -15,7 +15,7 @@
#include <__config>
#include <__iterator/segmented_iterator.h>
#include <__type_traits/common_type.h>
-#include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_constructible.h>
#include <__utility/move.h>
#include <__utility/pair.h>
diff --git a/libcxx/include/__algorithm/copy_move_common.h b/libcxx/include/__algorithm/copy_move_common.h
index 0fc7a5e3cee700..845967b05038d6 100644
--- a/libcxx/include/__algorithm/copy_move_common.h
+++ b/libcxx/include/__algorithm/copy_move_common.h
@@ -19,7 +19,7 @@
#include <__type_traits/enable_if.h>
#include <__type_traits/is_always_bitcastable.h>
#include <__type_traits/is_constant_evaluated.h>
-#include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_constructible.h>
#include <__type_traits/is_trivially_assignable.h>
#include <__type_traits/is_trivially_copyable.h>
#include <__type_traits/is_volatile.h>
diff --git a/libcxx/include/__algorithm/equal_range.h b/libcxx/include/__algorithm/equal_range.h
index a94290431971c4..2b086abf1794fd 100644
--- a/libcxx/include/__algorithm/equal_range.h
+++ b/libcxx/include/__algorithm/equal_range.h
@@ -23,7 +23,7 @@
#include <__iterator/iterator_traits.h>
#include <__iterator/next.h>
#include <__type_traits/is_callable.h>
-#include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_constructible.h>
#include <__utility/move.h>
#include <__utility/pair.h>
diff --git a/libcxx/include/__algorithm/lexicographical_compare_three_way.h b/libcxx/include/__algorithm/lexicographical_compare_three_way.h
index 32de97d07a1319..50ebdc647a97ab 100644
--- a/libcxx/include/__algorithm/lexicographical_compare_three_way.h
+++ b/libcxx/include/__algorithm/lexicographical_compare_three_way.h
@@ -17,7 +17,7 @@
#include <__config>
#include <__iterator/iterator_traits.h>
#include <__type_traits/common_type.h>
-#include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_constructible.h>
#include <__utility/move.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__algorithm/move.h b/libcxx/include/__algorithm/move.h
index dba6d487fff77e..bf574b5274093d 100644
--- a/libcxx/include/__algorithm/move.h
+++ b/libcxx/include/__algorithm/move.h
@@ -16,7 +16,7 @@
#include <__config>
#include <__iterator/segmented_iterator.h>
#include <__type_traits/common_type.h>
-#include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_constructible.h>
#include <__utility/move.h>
#include <__utility/pair.h>
diff --git a/libcxx/include/__algorithm/move_backward.h b/libcxx/include/__algorithm/move_backward.h
index aeedf4241dce9c..6bb7c91d66c7ce 100644
--- a/libcxx/include/__algorithm/move_backward.h
+++ b/libcxx/include/__algorithm/move_backward.h
@@ -15,7 +15,7 @@
#include <__config>
#include <__iterator/segmented_iterator.h>
#include <__type_traits/common_type.h>
-#include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_constructible.h>
#include <__utility/move.h>
#include <__utility/pair.h>
diff --git a/libcxx/include/__algorithm/partial_sort.h b/libcxx/include/__algorithm/partial_sort.h
index 85a8fdc77aa228..7f8d0c49147e3a 100644
--- a/libcxx/include/__algorithm/partial_sort.h
+++ b/libcxx/include/__algorithm/partial_sort.h
@@ -18,8 +18,8 @@
#include <__config>
#include <__debug_utils/randomize_range.h>
#include <__iterator/iterator_traits.h>
-#include <__type_traits/is_copy_assignable.h>
-#include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_assignable.h>
+#include <__type_traits/is_constructible.h>
#include <__utility/move.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__algorithm/pop_heap.h b/libcxx/include/__algorithm/pop_heap.h
index 798a1d09934bc3..6d23830097ff96 100644
--- a/libcxx/include/__algorithm/pop_heap.h
+++ b/libcxx/include/__algorithm/pop_heap.h
@@ -17,8 +17,8 @@
#include <__assert>
#include <__config>
#include <__iterator/iterator_traits.h>
-#include <__type_traits/is_copy_assignable.h>
-#include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_assignable.h>
+#include <__type_traits/is_constructible.h>
#include <__utility/move.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__algorithm/push_heap.h b/libcxx/include/__algorithm/push_heap.h
index 7d8720e3a93d44..ec0b445f2b70f3 100644
--- a/libcxx/include/__algorithm/push_heap.h
+++ b/libcxx/include/__algorithm/push_heap.h
@@ -14,8 +14,8 @@
#include <__algorithm/iterator_operations.h>
#include <__config>
#include <__iterator/iterator_traits.h>
-#include <__type_traits/is_copy_assignable.h>
-#include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_assignable.h>
+#include <__type_traits/is_constructible.h>
#include <__utility/move.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__algorithm/rotate.h b/libcxx/include/__algorithm/rotate.h
index 9a4d07883e320f..df4ca95aac95bc 100644
--- a/libcxx/include/__algorithm/rotate.h
+++ b/libcxx/include/__algorithm/rotate.h
@@ -15,7 +15,7 @@
#include <__algorithm/swap_ranges.h>
#include <__config>
#include <__iterator/iterator_traits.h>
-#include <__type_traits/is_trivially_move_assignable.h>
+#include <__type_traits/is_trivially_assignable.h>
#include <__utility/move.h>
#include <__utility/pair.h>
diff --git a/libcxx/include/__algorithm/sort_heap.h b/libcxx/include/__algorithm/sort_heap.h
index 060fc33c3c6e93..f20b110c7fd12e 100644
--- a/libcxx/include/__algorithm/sort_heap.h
+++ b/libcxx/include/__algorithm/sort_heap.h
@@ -16,8 +16,8 @@
#include <__config>
#include <__debug_utils/strict_weak_ordering_check.h>
#include <__iterator/iterator_traits.h>
-#include <__type_traits/is_copy_assignable.h>
-#include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_assignable.h>
+#include <__type_traits/is_constructible.h>
#include <__utility/move.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__algorithm/stable_sort.h b/libcxx/include/__algorithm/stable_sort.h
index 9be192bd65a6ef..726e7e16b3564a 100644
--- a/libcxx/include/__algorithm/stable_sort.h
+++ b/libcxx/include/__algorithm/stable_sort.h
@@ -20,7 +20,7 @@
#include <__memory/destruct_n.h>
#include <__memory/temporary_buffer.h>
#include <__memory/unique_ptr.h>
-#include <__type_traits/is_trivially_copy_assignable.h>
+#include <__type_traits/is_trivially_assignable.h>
#include <__utility/move.h>
#include <__utility/pair.h>
#include <new>
diff --git a/libcxx/include/__algorithm/unwrap_iter.h b/libcxx/include/__algorithm/unwrap_iter.h
index 50d815c9708849..8cc0d22d4fc211 100644
--- a/libcxx/include/__algorithm/unwrap_iter.h
+++ b/libcxx/include/__algorithm/unwrap_iter.h
@@ -13,7 +13,7 @@
#include <__iterator/iterator_traits.h>
#include <__memory/pointer_traits.h>
#include <__type_traits/enable_if.h>
-#include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_constructible.h>
#include <__utility/declval.h>
#include <__utility/move.h>
diff --git a/libcxx/include/__algorithm/upper_bound.h b/libcxx/include/__algorithm/upper_bound.h
index f499f7a80aa6d9..9c7d8fbcde07b5 100644
--- a/libcxx/include/__algorithm/upper_bound.h
+++ b/libcxx/include/__algorithm/upper_bound.h
@@ -18,7 +18,7 @@
#include <__iterator/advance.h>
#include <__iterator/distance.h>
#include <__iterator/iterator_traits.h>
-#include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_constructible.h>
#include <__utility/move.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__atomic/atomic_base.h b/libcxx/include/__atomic/atomic_base.h
index 6ca01a7f1bf9b9..e9badccc25a620 100644
--- a/libcxx/include/__atomic/atomic_base.h
+++ b/libcxx/include/__atomic/atomic_base.h
@@ -18,7 +18,7 @@
#include <__config>
#include <__memory/addressof.h>
#include <__type_traits/is_integral.h>
-#include <__type_traits/is_nothrow_default_constructible.h>
+#include <__type_traits/is_nothrow_constructible.h>
#include <__type_traits/is_same.h>
#include <version>
diff --git a/libcxx/include/__concepts/swappable.h b/libcxx/include/__concepts/swappable.h
index 1337dc49d75b10..d339488a087a5c 100644
--- a/libcxx/include/__concepts/swappable.h
+++ b/libcxx/include/__concepts/swappable.h
@@ -15,8 +15,8 @@
#include <__concepts/constructible.h>
#include <__config>
#include <__type_traits/extent.h>
-#include <__type_traits/is_nothrow_move_assignable.h>
-#include <__type_traits/is_nothrow_move_constructible.h>
+#include <__type_traits/is_nothrow_assignable.h>
+#include <__type_traits/is_nothrow_constructible.h>
#include <__type_traits/remove_cvref.h>
#include <__utility/exchange.h>
#include <__utility/forward.h>
diff --git a/libcxx/include/__exception/nested_exception.h b/libcxx/include/__exception/nested_exception.h
index 417db54e6eaacd..1bf2df939258a6 100644
--- a/libcxx/include/__exception/nested_exception.h
+++ b/libcxx/include/__exception/nested_exception.h
@@ -15,8 +15,8 @@
#include <__type_traits/decay.h>
#include <__type_traits/is_base_of.h>
#include <__type_traits/is_class.h>
+#include <__type_traits/is_constructible.h>
#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_copy_constructible.h>
#include <__type_traits/is_final.h>
#include <__type_traits/is_polymorphic.h>
#include <__utility/forward.h>
diff --git a/libcxx/include/__expected/expected.h b/libcxx/include/__expected/expected.h
index 443d9257dc598d..d7adaac7567b2f 100644
--- a/libcxx/include/__expected/expected.h
+++ b/libcxx/include/__expected/expected.h
@@ -23,24 +23,14 @@
#include <__type_traits/is_assignable.h>
#include <__type_traits/is_constructible.h>
#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_copy_assignable.h>
-#include <__type_traits/is_copy_constructible.h>
-#include <__type_traits/is_default_constructible.h>
#include <__type_traits/is_function.h>
-#include <__type_traits/is_move_assignable.h>
-#include <__type_traits/is_move_constructible.h>
+#include <__type_traits/is_nothrow_assignable.h>
#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_nothrow_copy_assignable.h>
-#include <__type_traits/is_nothrow_copy_constructible.h>
-#include <__type_traits/is_nothrow_default_constructible.h>
-#include <__type_traits/is_nothrow_move_assignable.h>
-#include <__type_traits/is_nothrow_move_constructible.h>
#include <__type_traits/is_reference.h>
#include <__type_traits/is_same.h>
#include <__type_traits/is_swappable.h>
-#include <__type_traits/is_trivially_copy_constructible.h>
+#include <__type_traits/is_trivially_constructible.h>
#include <__type_traits/is_trivially_destructible.h>
-#include <__type_traits/is_trivially_move_constructible.h>
#include <__type_traits/is_void.h>
#include <__type_traits/lazy.h>
#include <__type_traits/negation.h>
diff --git a/libcxx/include/__functional/bind_front.h b/libcxx/include/__functional/bind_front.h
index 30dda533615b28..11d0bac3f839ce 100644
--- a/libcxx/include/__functional/bind_front.h
+++ b/libcxx/include/__functional/bind_front.h
@@ -17,7 +17,6 @@
#include <__type_traits/decay.h>
#include <__type_traits/enable_if.h>
#include <__type_traits/is_constructible.h>
-#include <__type_traits/is_move_constructible.h>
#include <__utility/forward.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__functional/function.h b/libcxx/include/__functional/function.h
index 416c26a0c73f2e..02dd1f768348fe 100644
--- a/libcxx/include/__functional/function.h
+++ b/libcxx/include/__functional/function.h
@@ -28,7 +28,7 @@
#include <__type_traits/decay.h>
#include <__type_traits/is_core_convertible.h>
#include <__type_traits/is_scalar.h>
-#include <__type_traits/is_trivially_copy_constructible.h>
+#include <__type_traits/is_trivially_constructible.h>
#include <__type_traits/is_trivially_destructible.h>
#include <__type_traits/is_void.h>
#include <__type_traits/strip_signature.h>
diff --git a/libcxx/include/__functional/hash.h b/libcxx/include/__functional/hash.h
index 118e83e13ed166..a9e450edd39f53 100644
--- a/libcxx/include/__functional/hash.h
+++ b/libcxx/include/__functional/hash.h
@@ -14,10 +14,8 @@
#include <__fwd/functional.h>
#include <__type_traits/conjunction.h>
#include <__type_traits/invoke.h>
-#include <__type_traits/is_copy_constructible.h>
-#include <__type_traits/is_default_constructible.h>
+#include <__type_traits/is_constructible.h>
#include <__type_traits/is_enum.h>
-#include <__type_traits/is_move_constructible.h>
#include <__type_traits/underlying_type.h>
#include <__utility/pair.h>
#include <__utility/swap.h>
diff --git a/libcxx/include/__functional/not_fn.h b/libcxx/include/__functional/not_fn.h
index 23a491c135d79d..4b3ce5524a7434 100644
--- a/libcxx/include/__functional/not_fn.h
+++ b/libcxx/include/__functional/not_fn.h
@@ -16,7 +16,6 @@
#include <__type_traits/decay.h>
#include <__type_traits/enable_if.h>
#include <__type_traits/is_constructible.h>
-#include <__type_traits/is_move_constructible.h>
#include <__utility/forward.h>
#if !defined(_LIBCPP_HAS_NO_PRAGMA_SYSTEM_HEADER)
diff --git a/libcxx/include/__hash_table b/libcxx/include/__hash_table
index e6691e78a267f8..a705117d0173f9 100644
--- a/libcxx/include/__hash_table
+++ b/libcxx/include/__hash_table
@@ -28,12 +28,9 @@
#include <__type_traits/can_extract_key.h>
#include <__type_traits/conditional.h>
#include <__type_traits/is_const.h>
-#include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_constructible.h>
+#include <__type_traits/is_nothrow_assignable.h>
#include <__type_traits/is_nothrow_constructible.h>
-#include <__type_traits/is_nothrow_copy_constructible.h>
-#include <__type_traits/is_nothrow_default_constructible.h>
-#include <__type_traits/is_nothrow_move_assignable.h>
-#include <__type_traits/is_nothrow_move_constructible.h>
#include <__type_traits/is_pointer.h>
#include <__type_traits/is_reference.h>
#include <__type_traits/is_swappable.h>
diff --git a/libcxx/include/__iterator/cpp17_iterator_concepts.h b/libcxx/include/__iterator/cpp17_iterator_concepts.h
index d1ad2b4e284808..cdb561e68452af 100644
--- a/libcxx/include/__iterator/cpp17_iterator_concepts.h
+++ b/libcxx/include/__iterator/cpp17_iterator_concepts.h
@@ -14,10 +14,8 @@
#include <__concepts/same_as.h>
#include <__config>
#include <__iterator/iterator_traits.h>
+#include <__type_traits/is_constructible.h>
#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_copy_constructible.h>
-#include <__type_traits/is_default_constructible.h>
-#include <__type_traits/is_move_constructible.h>
#include <__type_traits/is_signed.h>
#include <__type_traits/is_void.h>
#include <__utility/as_const.h>
diff --git a/libcxx/include/__iterator/reverse_iterator.h b/libcxx/include/__iterator/reverse_iterator.h
index 5900b1c5ac154e..9aab96866f4fa1 100644
--- a/libcxx/include/__iterator/reverse_iterator.h
+++ b/libcxx/include/__iterator/reverse_iterator.h
@@ -34,7 +34,7 @@
#include <__type_traits/enable_if.h>
#include <__type_traits/is_assignable.h>
#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_nothrow_copy_constructible.h>
+#include <__type_traits/is_nothrow_constructible.h>
#include <__type_traits/is_pointer.h>
#include <__type_traits/is_same.h>
#include <__utility/declval.h>
diff --git a/libcxx/include/__mdspan/mdspan.h b/libcxx/include/__mdspan/mdspan.h
index 684828eb90ec7c..d9a0108d6d3507 100644
--- a/libcxx/include/__mdspan/mdspan.h
+++ b/libcxx/include/__mdspan/mdspan.h
@@ -27,7 +27,6 @@
#include <__type_traits/is_array.h>
#include <__type_traits/is_constructible.h>
#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_default_constructible.h>
#include <__type_traits/is_nothrow_constructible.h>
#include <__type_traits/is_pointer.h>
#include <__type_traits/is_same.h>
diff --git a/libcxx/include/__memory/allocator_traits.h b/libcxx/include/__memory/allocator_traits.h
index e79512b2ed1468..efdaa5e4ed8a5f 100644
--- a/libcxx/include/__memory/allocator_traits.h
+++ b/libcxx/include/__memory/allocator_traits.h
@@ -14,9 +14,8 @@
#include <__memory/construct_at.h>
#include <__memory/pointer_traits.h>
#include <__type_traits/enable_if.h>
-#include <__type_traits/is_copy_constructible.h>
+#include <__type_traits/is_constructible.h>
#include <__type_traits/is_empty.h>
-#include <__type_traits/is_move_constructible.h>
#include <__type_traits/make_unsigned.h>
#include <__type_traits/remove_reference.h>
#include <__type_traits/void_t.h>
diff --git a/libcxx/include/__memory/compressed_pair.h b/libcxx/include/__memory/compressed_pair.h
index 373e131a7877da..328849d7cc12d8 100644
--- a/libcxx/include/__memory/compressed_pair.h
+++ b/libcxx/include/__memory/compressed_pair.h
@@ -16,7 +16,7 @@
#include <__type_traits/decay.h>
#include <__type_traits/dependent_type.h>
#include <__type_traits/enable_if.h>
-#include <__type_traits/is_default_constructible.h>
+#include <__type_traits/is_constructible.h>
#include <__type_traits/is_empty.h>
#include <__type_traits/is_final.h>
#include <__type_traits/is_same.h>
diff --git a/libcxx/include/__memory/shared_ptr.h b/libcxx/include/__memory/shared_ptr.h
index d90e1449678e5c..794a794d8fd85a 100644
--- a/libcxx/include/__memory/shared_ptr.h
+++ b/libcxx/include/__memory/shared_ptr.h
@@ -37,8 +37,8 @@
#include <__type_traits/disjunction.h>
#include <__type_traits/is_array.h>
#include <__type_traits/is_bounded_array.h>
+#include <__type_traits/is_constructible.h>
#include <__type_traits/is_convertible.h>
-#include <__type_traits/is_move_constructible.h>
#include <__type_traits/is_reference.h>
#include <__type_traits/is_unbounded_array.h>
#include <__type_traits/nat.h>
diff --git a/libcxx/include/__memory/uninitialized_algorithms.h b/libcxx/include/__memory/uninitialized_algorithms.h
index 52cce1cf7c7c6a..7475ef5cf85def 100644
--- a/libcxx/include/__memory/uninitialized_algorithms.h
+++ b/libcxx/include/__memory/uninitialized_algorithms.h
@@ -25,10 +25,8 @@
#include <__type_traits/extent.h>
#include <__type_traits/is_array.h>
#include <__type_traits/is_constan...
[truncated]
``````````
</details>
https://github.com/llvm/llvm-project/pull/85308
- Previous message: [libcxx-commits] [libcxx] [libc++][NFC] Merge is{, _nothrow, _trivially}{, _copy, _move, _default}{_assignable, _constructible} (PR #85308)
- Next message: [libcxx-commits] [libcxx] [libc++][NFC] Merge is{, _nothrow, _trivially}{, _copy, _move, _default}{_assignable, _constructible} (PR #85308)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the libcxx-commits
mailing list