From 4a2e6723a17037836e56c89f108cf8f3ffd18b94 Mon Sep 17 00:00:00 2001 From: "K. R. Walker" Date: Tue, 20 Jan 2026 13:24:14 -0700 Subject: [PATCH] Fix tuple helper classes clang 19.1.5 reported the following error. Because the standard shows the helpers as structs, converted them all to structs instead of classes and removed unnecessary public visibility specifier. Boost/libs/process/include/boost/process/v2/environment.hpp:1280:82: note: constrained by implicitly private inheritance here 1280 | class tuple_size : integral_constant {}; | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /opt/gcc-15.1/bin/../lib/gcc/x86_64-pc-linux-gnu/15/../../../../include/c++/15/type_traits:94:28: note: member is declared here 94 | static constexpr _Tp value = __v; | ^ --- include/boost/process/v2/environment.hpp | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/include/boost/process/v2/environment.hpp b/include/boost/process/v2/environment.hpp index 0d97092d1..d75e8134d 100644 --- a/include/boost/process/v2/environment.hpp +++ b/include/boost/process/v2/environment.hpp @@ -1253,19 +1253,17 @@ namespace std { template<> -class tuple_size : integral_constant {}; +struct tuple_size : integral_constant {}; template<> -class tuple_element<0u, BOOST_PROCESS_V2_NAMESPACE::environment::key_value_pair> +struct tuple_element<0u, BOOST_PROCESS_V2_NAMESPACE::environment::key_value_pair> { - public: using type = BOOST_PROCESS_V2_NAMESPACE::environment::key_view; }; template<> -class tuple_element<1u, BOOST_PROCESS_V2_NAMESPACE::environment::key_value_pair> +struct tuple_element<1u, BOOST_PROCESS_V2_NAMESPACE::environment::key_value_pair> { - public: using type = BOOST_PROCESS_V2_NAMESPACE::environment::value_view; }; @@ -1277,19 +1275,17 @@ inline auto get(const BOOST_PROCESS_V2_NAMESPACE::environment::key_value_pair & } template<> -class tuple_size : integral_constant {}; +struct tuple_size : integral_constant {}; template<> -class tuple_element<0u, BOOST_PROCESS_V2_NAMESPACE::environment::key_value_pair_view> +struct tuple_element<0u, BOOST_PROCESS_V2_NAMESPACE::environment::key_value_pair_view> { - public: using type = BOOST_PROCESS_V2_NAMESPACE::environment::key_view; }; template<> -class tuple_element<1u, BOOST_PROCESS_V2_NAMESPACE::environment::key_value_pair_view> +struct tuple_element<1u, BOOST_PROCESS_V2_NAMESPACE::environment::key_value_pair_view> { - public: using type = BOOST_PROCESS_V2_NAMESPACE::environment::value_view; };