This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/45228] [C++0x] Can't copy-construct "tuple<int,int,int>" from "const tuple<int,int,int>" rvalue
- From: "paolo at gcc dot gnu dot org" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 10 Aug 2010 07:18:05 -0000
- Subject: [Bug libstdc++/45228] [C++0x] Can't copy-construct "tuple<int,int,int>" from "const tuple<int,int,int>" rvalue
- References: <bug-45228-18795@http.gcc.gnu.org/bugzilla/>
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
------- Comment #7 from paolo at gcc dot gnu dot org 2010-08-10 07:18 -------
Subject: Bug 45228
Author: paolo
Date: Tue Aug 10 07:17:44 2010
New Revision: 163049
URL: http://gcc.gnu.org/viewcvs?root=gcc&view=rev&rev=163049
Log:
2010-08-10 Paolo Carlini <paolo.carlini@oracle.com>
PR libstdc++/45228
* include/std/tuple (tuple<typename... _Elements>): Constrain
converting constructors and assignment operators with
sizeof...(_UElements) == sizeof...(_Elements).
(tuple(tuple<_UElements...>&): Remove.
(tuple<typename _T1>): Add.
* testsuite/20_util/tuple/cons/45228.cc: New.
* testsuite/20_util/tuple/cons/converting.cc: Likewise.
* testsuite/20_util/weak_ptr/comparison/cmp_neg.cc: Adjust
dg-error line number.
* include/std/tuple (_Tuple_impl<>::_Tuple_impl(const _Tuple_impl&)):
Defaulted.
* include/std/tuple (tuple<typename _T1, typename _T2>
::operator=(pair<_U1, _U2>&&)): Use forward.
Added:
trunk/libstdc++-v3/testsuite/20_util/tuple/cons/45228.cc
trunk/libstdc++-v3/testsuite/20_util/tuple/cons/converting.cc
Modified:
trunk/libstdc++-v3/ChangeLog
trunk/libstdc++-v3/include/std/tuple
trunk/libstdc++-v3/testsuite/20_util/weak_ptr/comparison/cmp_neg.cc
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45228