diff options
-rw-r--r-- | libstdc++-v3/include/std/tuple | 8 | ||||
-rw-r--r-- | libstdc++-v3/testsuite/20_util/tuple/cons/101960.cc | 11 |
2 files changed, 11 insertions, 8 deletions
diff --git a/libstdc++-v3/include/std/tuple b/libstdc++-v3/include/std/tuple index 94a4f0afd31..aaee0b8826a 100644 --- a/libstdc++-v3/include/std/tuple +++ b/libstdc++-v3/include/std/tuple @@ -298,13 +298,7 @@ _GLIBCXX_BEGIN_NAMESPACE_VERSION // 2729. Missing SFINAE on std::pair::operator= _Tuple_impl& operator=(const _Tuple_impl&) = delete; - constexpr - _Tuple_impl(_Tuple_impl&& __in) - noexcept(__and_<is_nothrow_move_constructible<_Head>, - is_nothrow_move_constructible<_Inherited>>::value) - : _Inherited(std::move(_M_tail(__in))), - _Base(std::forward<_Head>(_M_head(__in))) - { } + _Tuple_impl(_Tuple_impl&&) = default; template<typename... _UElements> constexpr diff --git a/libstdc++-v3/testsuite/20_util/tuple/cons/101960.cc b/libstdc++-v3/testsuite/20_util/tuple/cons/101960.cc index f14604cdc69..42d17b182ed 100644 --- a/libstdc++-v3/testsuite/20_util/tuple/cons/101960.cc +++ b/libstdc++-v3/testsuite/20_util/tuple/cons/101960.cc @@ -1,4 +1,13 @@ // { dg-do compile { target c++11 } } #include <tuple> + +// PR libstdc++/101960 + std::tuple<int[1]> t; -auto tt = std::move(t); // PR libstdc++/101960 +auto tt = std::move(t); + +std::tuple<int[1], int> t2; +auto tt2 = std::move(t2); + +std::tuple<int[1], int[2], int[3]> t3; +auto tt3 = std::move(t3); |