[libcxx-commits] [libcxx] [libc++] Make `<map>` `std::multimap` constexpr as part of P3372R3 (PR #161901)
via libcxx-commits
libcxx-commits at lists.llvm.org
Sat Oct 18 11:52:41 PDT 2025
github-actions[bot] wrote:
<!--LLVM CODE FORMAT COMMENT: {clang-format}-->
:warning: C/C++ code formatter, clang-format found issues in your code. :warning:
<details>
<summary>
You can test this locally with the following command:
</summary>
``````````bash
git-clang-format --diff origin/main HEAD --extensions ,h,cpp -- libcxx/include/__iterator/erase_if_container.h libcxx/include/__node_handle libcxx/include/__tree libcxx/include/__utility/lazy_synth_three_way_comparator.h libcxx/include/map libcxx/include/version libcxx/test/std/containers/Emplaceable.h libcxx/test/std/containers/associative/from_range_associative_containers.h libcxx/test/std/containers/associative/map/compare.pass.cpp libcxx/test/std/containers/associative/map/get_allocator.pass.cpp libcxx/test/std/containers/associative/map/incomplete_type.pass.cpp libcxx/test/std/containers/associative/map/map.access/at.pass.cpp libcxx/test/std/containers/associative/map/map.access/empty.pass.cpp libcxx/test/std/containers/associative/map/map.access/index_key.pass.cpp libcxx/test/std/containers/associative/map/map.access/index_rv_key.pass.cpp libcxx/test/std/containers/associative/map/map.access/index_tuple.pass.cpp libcxx/test/std/containers/associative/map/map.access/iterator.pass.cpp libcxx/test/std/containers/associative/map/map.access/max_size.pass.cpp libcxx/test/std/containers/associative/map/map.access/size.pass.cpp libcxx/test/std/containers/associative/map/map.cons/alloc.pass.cpp libcxx/test/std/containers/associative/map/map.cons/assign_initializer_list.pass.cpp libcxx/test/std/containers/associative/map/map.cons/compare.pass.cpp libcxx/test/std/containers/associative/map/map.cons/compare_alloc.pass.cpp libcxx/test/std/containers/associative/map/map.cons/copy.pass.cpp libcxx/test/std/containers/associative/map/map.cons/copy_alloc.pass.cpp libcxx/test/std/containers/associative/map/map.cons/copy_assign.pass.cpp libcxx/test/std/containers/associative/map/map.cons/deduct.pass.cpp libcxx/test/std/containers/associative/map/map.cons/deduct_const.pass.cpp libcxx/test/std/containers/associative/map/map.cons/default.pass.cpp libcxx/test/std/containers/associative/map/map.cons/default_noexcept.pass.cpp libcxx/test/std/containers/associative/map/map.cons/dtor_noexcept.pass.cpp libcxx/test/std/containers/associative/map/map.cons/from_range.pass.cpp libcxx/test/std/containers/associative/map/map.cons/initializer_list.pass.cpp libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare.pass.cpp libcxx/test/std/containers/associative/map/map.cons/initializer_list_compare_alloc.pass.cpp libcxx/test/std/containers/associative/map/map.cons/iter_iter.pass.cpp libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp.pass.cpp libcxx/test/std/containers/associative/map/map.cons/iter_iter_comp_alloc.pass.cpp libcxx/test/std/containers/associative/map/map.cons/move.pass.cpp libcxx/test/std/containers/associative/map/map.cons/move_alloc.pass.cpp libcxx/test/std/containers/associative/map/map.cons/move_assign.pass.cpp libcxx/test/std/containers/associative/map/map.cons/move_noexcept.pass.cpp libcxx/test/std/containers/associative/map/map.erasure/erase_if.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/clear.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/emplace.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/emplace_hint.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/erase_iter.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/erase_iter_iter.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/erase_key.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/extract_iterator.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/extract_key.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/insert_cv.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/insert_initializer_list.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_cv.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_iter.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/insert_iter_rv.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/insert_or_assign.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/insert_range.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/insert_rv.pass.cpp libcxx/test/std/containers/associative/map/map.modifiers/try.emplace.pass.cpp libcxx/test/std/containers/associative/map/map.nonmember/compare.three_way.pass.cpp libcxx/test/std/containers/associative/map/map.nonmember/op_compare.pass.cpp libcxx/test/std/containers/associative/map/map.observers/key_comp.pass.cpp libcxx/test/std/containers/associative/map/map.observers/value_comp.pass.cpp libcxx/test/std/containers/associative/map/map.ops/contains.pass.cpp libcxx/test/std/containers/associative/map/map.ops/contains_transparent.pass.cpp libcxx/test/std/containers/associative/map/map.ops/count.pass.cpp libcxx/test/std/containers/associative/map/map.ops/count0.pass.cpp libcxx/test/std/containers/associative/map/map.ops/count_transparent.pass.cpp libcxx/test/std/containers/associative/map/map.ops/equal_range.pass.cpp libcxx/test/std/containers/associative/map/map.ops/equal_range0.pass.cpp libcxx/test/std/containers/associative/map/map.ops/equal_range_transparent.pass.cpp libcxx/test/std/containers/associative/map/map.ops/find.pass.cpp libcxx/test/std/containers/associative/map/map.ops/find0.pass.cpp libcxx/test/std/containers/associative/map/map.ops/lower_bound.pass.cpp libcxx/test/std/containers/associative/map/map.ops/lower_bound0.pass.cpp libcxx/test/std/containers/associative/map/map.ops/upper_bound.pass.cpp libcxx/test/std/containers/associative/map/map.ops/upper_bound0.pass.cpp libcxx/test/std/containers/associative/map/map.special/member_swap.pass.cpp libcxx/test/std/containers/associative/map/map.special/non_member_swap.pass.cpp libcxx/test/std/containers/associative/map/map.special/swap_noexcept.pass.cpp libcxx/test/std/containers/associative/map/map.value_compare/invoke.pass.cpp libcxx/test/std/containers/associative/map/types.pass.cpp libcxx/test/std/containers/associative/multimap/empty.pass.cpp libcxx/test/std/containers/associative/multimap/get_allocator.pass.cpp libcxx/test/std/containers/associative/multimap/incomplete_type.pass.cpp libcxx/test/std/containers/associative/multimap/iterator.pass.cpp libcxx/test/std/containers/associative/multimap/max_size.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/alloc.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/assign_initializer_list.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/compare.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/compare_alloc.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/copy.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/copy_alloc.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/copy_assign.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/deduct.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/deduct_const.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/default.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/default_noexcept.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/dtor_noexcept.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/from_range.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/initializer_list_compare_alloc.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/iter_iter_comp_alloc.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/move.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/move_alloc.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/move_assign.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.cons/move_noexcept.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.erasure/erase_if.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/clear.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/emplace.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/emplace_hint.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_iter.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_iter_iter.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/erase_key.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_iterator.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/extract_key.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_allocator_requirements.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_cv.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_initializer_list.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_cv.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_iter.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_iter_rv.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_node_type.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_node_type_hint.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_range.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/insert_rv.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.modifiers/merge.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.nonmember/compare.three_way.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.nonmember/op_compare.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.observers/key_comp.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.observers/value_comp.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.ops/count.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.ops/count0.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.ops/count_transparent.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range0.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.ops/equal_range_transparent.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.ops/find.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.ops/find0.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.ops/lower_bound0.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.ops/upper_bound0.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.special/member_swap.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.special/non_member_swap.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.special/swap_noexcept.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.value_compare/invoke.pass.cpp libcxx/test/std/containers/associative/multimap/multimap.value_compare/types.pass.cpp libcxx/test/std/containers/associative/multimap/size.pass.cpp libcxx/test/std/containers/associative/multimap/types.pass.cpp libcxx/test/std/containers/container.node/node_handle.pass.cpp libcxx/test/std/containers/insert_range_maps_sets.h libcxx/test/std/containers/test_compare.h libcxx/test/std/language.support/support.limits/support.limits.general/map.version.compile.pass.cpp libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp libcxx/test/support/is_transparent.h libcxx/test/support/private_constructor.h --diff_from_common_commit
``````````
:warning:
The reproduction instructions above might return results for more than one PR
in a stack if you are using a stacked PR workflow. You can limit the results by
changing `origin/main` to the base branch/commit you want to compare against.
:warning:
</details>
<details>
<summary>
View the diff from clang-format here.
</summary>
``````````diff
diff --git a/libcxx/include/map b/libcxx/include/map
index 0bc7c4aa2..19a3cd29d 100644
--- a/libcxx/include/map
+++ b/libcxx/include/map
@@ -1435,9 +1435,8 @@ template <class _Key,
class _Allocator = allocator<pair<const _Key, _Tp>>,
class = enable_if_t<!__is_allocator<_Compare>::value, void>,
class = enable_if_t<__is_allocator<_Allocator>::value, void>>
-map(initializer_list<pair<_Key, _Tp>>,
- _Compare = _Compare(),
- _Allocator = _Allocator()) -> map<remove_const_t<_Key>, _Tp, _Compare, _Allocator>;
+map(initializer_list<pair<_Key, _Tp>>, _Compare = _Compare(), _Allocator = _Allocator())
+ -> map<remove_const_t<_Key>, _Tp, _Compare, _Allocator>;
template <class _InputIterator,
class _Allocator,
@@ -1456,8 +1455,8 @@ map(from_range_t, _Range&&, _Allocator)
# endif
template <class _Key, class _Tp, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value, void>>
-map(initializer_list<pair<_Key, _Tp>>,
- _Allocator) -> map<remove_const_t<_Key>, _Tp, less<remove_const_t<_Key>>, _Allocator>;
+map(initializer_list<pair<_Key, _Tp>>, _Allocator)
+ -> map<remove_const_t<_Key>, _Tp, less<remove_const_t<_Key>>, _Allocator>;
# endif
# ifndef _LIBCPP_CXX03_LANG
@@ -2051,9 +2050,8 @@ template <class _Key,
class _Allocator = allocator<pair<const _Key, _Tp>>,
class = enable_if_t<!__is_allocator<_Compare>::value, void>,
class = enable_if_t<__is_allocator<_Allocator>::value, void>>
-multimap(initializer_list<pair<_Key, _Tp>>,
- _Compare = _Compare(),
- _Allocator = _Allocator()) -> multimap<remove_const_t<_Key>, _Tp, _Compare, _Allocator>;
+multimap(initializer_list<pair<_Key, _Tp>>, _Compare = _Compare(), _Allocator = _Allocator())
+ -> multimap<remove_const_t<_Key>, _Tp, _Compare, _Allocator>;
template <class _InputIterator,
class _Allocator,
@@ -2072,8 +2070,8 @@ multimap(from_range_t, _Range&&, _Allocator)
# endif
template <class _Key, class _Tp, class _Allocator, class = enable_if_t<__is_allocator<_Allocator>::value, void>>
-multimap(initializer_list<pair<_Key, _Tp>>,
- _Allocator) -> multimap<remove_const_t<_Key>, _Tp, less<remove_const_t<_Key>>, _Allocator>;
+multimap(initializer_list<pair<_Key, _Tp>>, _Allocator)
+ -> multimap<remove_const_t<_Key>, _Tp, less<remove_const_t<_Key>>, _Allocator>;
# endif
# ifndef _LIBCPP_CXX03_LANG
diff --git a/libcxx/test/std/containers/Emplaceable.h b/libcxx/test/std/containers/Emplaceable.h
index d9d0965fa..757e16a37 100644
--- a/libcxx/test/std/containers/Emplaceable.h
+++ b/libcxx/test/std/containers/Emplaceable.h
@@ -37,7 +37,9 @@ public:
}
TEST_CONSTEXPR_CXX26 bool operator==(const Emplaceable& x) const { return int_ == x.int_ && double_ == x.double_; }
- TEST_CONSTEXPR_CXX26 bool operator<(const Emplaceable& x) const { return int_ < x.int_ || (int_ == x.int_ && double_ < x.double_); }
+ TEST_CONSTEXPR_CXX26 bool operator<(const Emplaceable& x) const {
+ return int_ < x.int_ || (int_ == x.int_ && double_ < x.double_);
+ }
TEST_CONSTEXPR_CXX26 int get() const { return int_; }
};
diff --git a/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp b/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
index 51abe491d..95e68b09f 100644
--- a/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
+++ b/libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp
@@ -8073,4 +8073,3 @@
#endif // TEST_STD_VER > 23
// clang-format on
-
``````````
</details>
https://github.com/llvm/llvm-project/pull/161901
More information about the libcxx-commits
mailing list