@@ -1113,28 +1113,32 @@ swap(const tuple<_Tp...>& __lhs,
11131113// get
11141114
11151115template <size_t _Ip, class ... _Tp>
1116- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 typename tuple_element<_Ip, tuple<_Tp...> >::type&
1116+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14
1117+ typename tuple_element<_Ip, tuple<_Tp...> >::type&
11171118get (tuple<_Tp...>& __t ) _NOEXCEPT {
11181119 using type _LIBCPP_NODEBUG = typename tuple_element<_Ip, tuple<_Tp...> >::type;
11191120 return static_cast <__tuple_leaf<_Ip, type>&>(__t .__base_ ).get ();
11201121}
11211122
11221123template <size_t _Ip, class ... _Tp>
1123- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const typename tuple_element<_Ip, tuple<_Tp...> >::type&
1124+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI
1125+ _LIBCPP_CONSTEXPR_SINCE_CXX14 const typename tuple_element<_Ip, tuple<_Tp...> >::type&
11241126get (const tuple<_Tp...>& __t ) _NOEXCEPT {
11251127 using type _LIBCPP_NODEBUG = typename tuple_element<_Ip, tuple<_Tp...> >::type;
11261128 return static_cast <const __tuple_leaf<_Ip, type>&>(__t .__base_ ).get ();
11271129}
11281130
11291131template <size_t _Ip, class ... _Tp>
1130- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 typename tuple_element<_Ip, tuple<_Tp...> >::type&&
1132+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14
1133+ typename tuple_element<_Ip, tuple<_Tp...> >::type&&
11311134get (tuple<_Tp...>&& __t ) _NOEXCEPT {
11321135 using type _LIBCPP_NODEBUG = typename tuple_element<_Ip, tuple<_Tp...> >::type;
11331136 return static_cast <type&&>(static_cast <__tuple_leaf<_Ip, type>&&>(__t .__base_ ).get ());
11341137}
11351138
11361139template <size_t _Ip, class ... _Tp>
1137- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 const typename tuple_element<_Ip, tuple<_Tp...> >::type&&
1140+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI
1141+ _LIBCPP_CONSTEXPR_SINCE_CXX14 const typename tuple_element<_Ip, tuple<_Tp...> >::type&&
11381142get (const tuple<_Tp...>&& __t ) _NOEXCEPT {
11391143 using type _LIBCPP_NODEBUG = typename tuple_element<_Ip, tuple<_Tp...> >::type;
11401144 return static_cast <const type&&>(static_cast <const __tuple_leaf<_Ip, type>&&>(__t .__base_ ).get ());
@@ -1143,22 +1147,22 @@ get(const tuple<_Tp...>&& __t) _NOEXCEPT {
11431147# if _LIBCPP_STD_VER >= 14
11441148
11451149template <class _T1 , class ... _Args>
1146- inline _LIBCPP_HIDE_FROM_ABI constexpr _T1& get (tuple<_Args...>& __tup) noexcept {
1150+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI constexpr _T1& get (tuple<_Args...>& __tup) noexcept {
11471151 return std::get<__find_exactly_one_t <_T1, _Args...>::value>(__tup);
11481152}
11491153
11501154template <class _T1 , class ... _Args>
1151- inline _LIBCPP_HIDE_FROM_ABI constexpr _T1 const & get (tuple<_Args...> const & __tup) noexcept {
1155+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI constexpr _T1 const & get (tuple<_Args...> const & __tup) noexcept {
11521156 return std::get<__find_exactly_one_t <_T1, _Args...>::value>(__tup);
11531157}
11541158
11551159template <class _T1 , class ... _Args>
1156- inline _LIBCPP_HIDE_FROM_ABI constexpr _T1&& get(tuple<_Args...>&& __tup) noexcept {
1160+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI constexpr _T1&& get(tuple<_Args...>&& __tup) noexcept {
11571161 return std::get<__find_exactly_one_t <_T1, _Args...>::value>(std::move (__tup));
11581162}
11591163
11601164template <class _T1 , class ... _Args>
1161- inline _LIBCPP_HIDE_FROM_ABI constexpr _T1 const && get(tuple<_Args...> const && __tup) noexcept {
1165+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI constexpr _T1 const && get(tuple<_Args...> const && __tup) noexcept {
11621166 return std::get<__find_exactly_one_t <_T1, _Args...>::value>(std::move (__tup));
11631167}
11641168
@@ -1167,18 +1171,19 @@ inline _LIBCPP_HIDE_FROM_ABI constexpr _T1 const&& get(tuple<_Args...> const&& _
11671171// tie
11681172
11691173template <class ... _Tp>
1170- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 tuple<_Tp&...> tie (_Tp&... __t ) _NOEXCEPT {
1174+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 tuple<_Tp&...> tie (_Tp&... __t ) _NOEXCEPT {
11711175 return tuple<_Tp&...>(__t ...);
11721176}
11731177
11741178template <class ... _Tp>
1175- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 tuple<__unwrap_ref_decay_t <_Tp>...>
1179+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 tuple<__unwrap_ref_decay_t <_Tp>...>
11761180make_tuple (_Tp&&... __t ) {
11771181 return tuple<__unwrap_ref_decay_t <_Tp>...>(std::forward<_Tp>(__t )...);
11781182}
11791183
11801184template <class ... _Tp>
1181- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 tuple<_Tp&&...> forward_as_tuple (_Tp&&... __t ) _NOEXCEPT {
1185+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 tuple<_Tp&&...>
1186+ forward_as_tuple (_Tp&&... __t ) _NOEXCEPT {
11821187 return tuple<_Tp&&...>(std::forward<_Tp>(__t )...);
11831188}
11841189
@@ -1300,7 +1305,7 @@ template <class... _Tuples>
13001305using __tuple_cat_return_t _LIBCPP_NODEBUG =
13011306 typename __tuple_cat_return_impl<tuple<>, __remove_cvref_t <_Tuples>...>::type;
13021307
1303- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 tuple<> tuple_cat () { return tuple<>(); }
1308+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 tuple<> tuple_cat () { return tuple<>(); }
13041309
13051310template <class _Rp , class _Indices , class _Tuple0 , class ... _Tuples>
13061311struct __tuple_cat_return_ref_imp ;
@@ -1368,7 +1373,7 @@ __tuple_cat_select_element_wise(_TupleSrc&& __src, __index_sequence<_Indices...>
13681373}
13691374
13701375template <class _Tuple0 , class ... _Tuples>
1371- inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 __tuple_cat_return_t <_Tuple0, _Tuples...>
1376+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX14 __tuple_cat_return_t <_Tuple0, _Tuples...>
13721377tuple_cat (_Tuple0&& __t0, _Tuples&&... __tpls) {
13731378 using _T0 _LIBCPP_NODEBUG = __libcpp_remove_reference_t <_Tuple0>;
13741379 using _TRet _LIBCPP_NODEBUG = __tuple_cat_return_t <_Tuple0, _Tuples...>;
@@ -1435,7 +1440,7 @@ template <class _Tp, class _Tuple>
14351440template <class _Tp , class _Tuple , class = enable_if_t <__can_make_from_tuple<_Tp, _Tuple>>> // strengthen
14361441#endif // _LIBCPP_STD_VER >= 20
14371442
1438- inline _LIBCPP_HIDE_FROM_ABI constexpr _Tp make_from_tuple (_Tuple&& __t )
1443+ [[__nodiscard__]] inline _LIBCPP_HIDE_FROM_ABI constexpr _Tp make_from_tuple (_Tuple&& __t )
14391444 noexcept (noexcept (std::__make_from_tuple_impl<_Tp>(std::forward<_Tuple>(__t ),
14401445 make_index_sequence<tuple_size_v<remove_reference_t<_Tuple>>>()))) {
14411446#if _LIBCPP_STD_VER >= 23
0 commit comments