https://gcc.gnu.org/g:4436889eb4a8e293c88cae8e6a6330e7e23857d7
commit r15-2656-g4436889eb4a8e293c88cae8e6a6330e7e23857d7 Author: Jonathan Wakely <jwak...@redhat.com> Date: Sat Mar 23 11:11:17 2024 +0000 libstdc++: Remove unused helper traits These are not used anywhere, we have more efficient variable templates for them instead. They're not documented as extensions, and are easy for users to write if they need them. libstdc++-v3/ChangeLog: * include/bits/utility.h (__is_in_place_type): Remove. * include/std/variant (__is_in_place_tag): Remove. Diff: --- libstdc++-v3/include/bits/utility.h | 3 --- libstdc++-v3/include/std/variant | 7 ------- 2 files changed, 10 deletions(-) diff --git a/libstdc++-v3/include/bits/utility.h b/libstdc++-v3/include/bits/utility.h index 44c74333e924..751ff7b9a277 100644 --- a/libstdc++-v3/include/bits/utility.h +++ b/libstdc++-v3/include/bits/utility.h @@ -220,9 +220,6 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION template<typename _Tp> inline constexpr bool __is_in_place_type_v<in_place_type_t<_Tp>> = true; - template<typename _Tp> - using __is_in_place_type = bool_constant<__is_in_place_type_v<_Tp>>; - template<typename> inline constexpr bool __is_in_place_index_v = false; diff --git a/libstdc++-v3/include/std/variant b/libstdc++-v3/include/std/variant index d0f7bd0242f8..12108d07f0b1 100644 --- a/libstdc++-v3/include/std/variant +++ b/libstdc++-v3/include/std/variant @@ -1488,13 +1488,6 @@ namespace __detail::__variant using _Traits = __detail::__variant::_Traits<_Types...>; - template<typename _Tp> - struct __is_in_place_tag : false_type { }; - template<typename _Tp> - struct __is_in_place_tag<in_place_type_t<_Tp>> : true_type { }; - template<size_t _Np> - struct __is_in_place_tag<in_place_index_t<_Np>> : true_type { }; - template<typename _Tp> static constexpr bool __not_in_place_tag = !__is_in_place_type_v<__remove_cvref_t<_Tp>>