[libcxx-commits] [libcxx] [libc++][numeric] Modernized `std::midpoint` (PR #174596)
via libcxx-commits
libcxx-commits at lists.llvm.org
Tue Jan 6 07:09:42 PST 2026
================
@@ -48,8 +48,9 @@ midpoint(_Tp __a, _Tp __b) noexcept _LIBCPP_DISABLE_UBSAN_UNSIGNED_INTEGER_CHECK
return __a + __half_diff;
}
-template <class _Tp, enable_if_t<is_object_v<_Tp> && !is_void_v<_Tp> && (sizeof(_Tp) > 0), int> = 0>
-_LIBCPP_HIDE_FROM_ABI constexpr _Tp* midpoint(_Tp* __a, _Tp* __b) noexcept {
+template <class _Tp>
+ requires(is_object_v<_Tp> && !is_void_v<_Tp> && (sizeof(_Tp) > 0))
----------------
eiytoq wrote:
`!is_void_v<_Tp>` seems redundant since `is_object_v<_Tp>` already excludes void.
https://github.com/llvm/llvm-project/pull/174596
More information about the libcxx-commits
mailing list