@@ -304,7 +304,7 @@ class __tuple_leaf {
304
304
# endif
305
305
}
306
306
307
- _LIBCPP_CONSTEXPR_SINCE_CXX14 __tuple_leaf& operator =(const __tuple_leaf&);
307
+ _LIBCPP_CONSTEXPR_SINCE_CXX14 __tuple_leaf& operator =(const __tuple_leaf&) = delete ;
308
308
309
309
public:
310
310
_LIBCPP_HIDE_FROM_ABI constexpr __tuple_leaf () _NOEXCEPT_(is_nothrow_default_constructible<_Hp>::value) : __value_() {
@@ -380,7 +380,7 @@ public:
380
380
381
381
template <size_t _Ip, class _Hp >
382
382
class __tuple_leaf <_Ip, _Hp, true > : private _Hp {
383
- _LIBCPP_CONSTEXPR_SINCE_CXX14 __tuple_leaf& operator =(const __tuple_leaf&);
383
+ _LIBCPP_CONSTEXPR_SINCE_CXX14 __tuple_leaf& operator =(const __tuple_leaf&) = delete ;
384
384
385
385
public:
386
386
_LIBCPP_HIDE_FROM_ABI constexpr __tuple_leaf () _NOEXCEPT_(is_nothrow_default_constructible<_Hp>::value) {}
@@ -1375,22 +1375,22 @@ inline _LIBCPP_HIDE_FROM_ABI constexpr _Tp __make_from_tuple_impl(_Tuple&& __t,
1375
1375
}
1376
1376
#else
1377
1377
template <class _Tp , class _Tuple , size_t ... _Idx>
1378
- inline _LIBCPP_HIDE_FROM_ABI constexpr _Tp __make_from_tuple_impl (_Tuple&& __t , __tuple_indices<_Idx...>,
1378
+ inline _LIBCPP_HIDE_FROM_ABI constexpr _Tp __make_from_tuple_impl (_Tuple&& __t , __tuple_indices<_Idx...>,
1379
1379
enable_if_t <is_constructible_v<_Tp, decltype (std::get<_Idx>(std::forward<_Tuple>(__t )))...>> * = nullptr)
1380
1380
_LIBCPP_NOEXCEPT_RETURN(_Tp(std::get<_Idx>(std::forward<_Tuple>(__t ))...))
1381
1381
#endif // _LIBCPP_STD_VER >= 20
1382
1382
1383
- template <class _Tp , class _Tuple ,
1383
+ template <class _Tp , class _Tuple ,
1384
1384
class _Seq = typename __make_tuple_indices<tuple_size_v<remove_reference_t <_Tuple>>>::type, class = void >
1385
1385
inline constexpr bool __can_make_from_tuple = false ;
1386
1386
1387
1387
template <class _Tp , class _Tuple , size_t ... _Idx>
1388
- inline constexpr bool __can_make_from_tuple<_Tp, _Tuple, __tuple_indices<_Idx...>,
1388
+ inline constexpr bool __can_make_from_tuple<_Tp, _Tuple, __tuple_indices<_Idx...>,
1389
1389
enable_if_t <is_constructible_v<_Tp, decltype (std::get<_Idx>(std::declval<_Tuple>()))...>>> = true ;
1390
1390
1391
- // Based on LWG3528(https://wg21.link/LWG3528) and http://eel.is/c++draft/description#structure.requirements-9,
1392
- // the standard allows to impose requirements, we constraint std::make_from_tuple to make std::make_from_tuple
1393
- // SFINAE friendly and also avoid worse diagnostic messages. We still keep the constraints of std::__make_from_tuple_impl
1391
+ // Based on LWG3528(https://wg21.link/LWG3528) and http://eel.is/c++draft/description#structure.requirements-9,
1392
+ // the standard allows to impose requirements, we constraint std::make_from_tuple to make std::make_from_tuple
1393
+ // SFINAE friendly and also avoid worse diagnostic messages. We still keep the constraints of std::__make_from_tuple_impl
1394
1394
// so that std::__make_from_tuple_impl will have the same advantages when used alone.
1395
1395
#if _LIBCPP_STD_VER >= 20
1396
1396
template <class _Tp , class _Tuple >
0 commit comments