[libcxx-commits] [libcxx] [libc++] Make forward_list constexpr as part of P3372R3 (PR #129435)

via libcxx-commits libcxx-commits at lists.llvm.org
Thu Jun 5 13:11:52 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 HEAD~1 HEAD --extensions ,cpp,h -- libcxx/include/__memory/allocation_guard.h libcxx/include/__memory/pointer_traits.h libcxx/include/forward_list libcxx/include/version libcxx/test/std/containers/sequences/forwardlist/compare.three_way.pass.cpp libcxx/test/std/containers/sequences/forwardlist/empty.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.access/front.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.compile.fail.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/alloc.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_copy.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_init.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_move.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_op_init.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_range.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/assign_size_value.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/copy_alloc.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/default.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/from_range.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/init_alloc.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/move_alloc.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/range_alloc.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.cons/size_value_alloc.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.erasure/erase_if.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/before_begin.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.iter/iterators.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/assign_range.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/clear.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_after.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/emplace_front.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_many.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/erase_after_one.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_const.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_init.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_range.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_rv.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_after_size_value.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/insert_range_after.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/pop_front.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/prepend_range.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_const.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_exception_safety.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/push_front_rv.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.modifiers/resize_size_value.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_lvalue_pred.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/merge_rvalue_pred.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/remove_if.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/reverse.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_flist.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_one.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/splice_after_range.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.ops/unique_pred.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/equal.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/member_swap.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/non_member_swap.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/relational.pass.cpp libcxx/test/std/containers/sequences/forwardlist/forwardlist.spec/swap_noexcept.pass.cpp libcxx/test/std/containers/sequences/forwardlist/get_allocator.pass.cpp libcxx/test/std/containers/sequences/forwardlist/incomplete.pass.cpp libcxx/test/std/containers/sequences/forwardlist/max_size.pass.cpp libcxx/test/std/language.support/support.limits/support.limits.general/forward_list.version.compile.pass.cpp libcxx/test/std/language.support/support.limits/support.limits.general/version.version.compile.pass.cpp libcxx/test/support/counting_predicates.h
``````````

</details>

<details>
<summary>
View the diff from clang-format here.
</summary>

``````````diff
diff --git a/libcxx/include/__memory/pointer_traits.h b/libcxx/include/__memory/pointer_traits.h
index 2744fee24..879b387b9 100644
--- a/libcxx/include/__memory/pointer_traits.h
+++ b/libcxx/include/__memory/pointer_traits.h
@@ -304,8 +304,8 @@ concept __resettable_smart_pointer_with_args = requires(_Smart __s, _Pointer __p
 
 // This function ensures safe conversions between fancy pointers at compile-time, where we avoid casts from/to
 // `__void_pointer` by obtaining the underlying raw pointer from the fancy pointer using `std::to_address`,
-// then dereferencing it to retrieve the pointed-to object, and finally constructing the target fancy pointer 
-// to that object using the `std::pointer_traits<>::pinter_to` function. 
+// then dereferencing it to retrieve the pointed-to object, and finally constructing the target fancy pointer
+// to that object using the `std::pointer_traits<>::pinter_to` function.
 template <class _PtrTo, class _PtrFrom>
 _LIBCPP_CONSTEXPR_SINCE_CXX20 _LIBCPP_HIDE_FROM_ABI _PtrTo __static_fancy_pointer_cast(const _PtrFrom& __p) {
   using __ptr_traits   = pointer_traits<_PtrTo>;
diff --git a/libcxx/include/forward_list b/libcxx/include/forward_list
index a4e986733..b1b0c1b5f 100644
--- a/libcxx/include/forward_list
+++ b/libcxx/include/forward_list
@@ -844,7 +844,8 @@ public:
   }
 #  endif // _LIBCPP_CXX03_LANG
   _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI iterator insert_after(const_iterator __p, const value_type& __v);
-  _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI iterator insert_after(const_iterator __p, size_type __n, const value_type& __v) {
+  _LIBCPP_CONSTEXPR_SINCE_CXX26 _LIBCPP_HIDE_FROM_ABI iterator
+  insert_after(const_iterator __p, size_type __n, const value_type& __v) {
     return __insert_after(__p, __n, __v);
   }
   template <class _InputIterator, __enable_if_t<__has_input_iterator_category<_InputIterator>::value, int> = 0>

``````````

</details>


https://github.com/llvm/llvm-project/pull/129435


More information about the libcxx-commits mailing list