This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of Resolved status.
pair
and tuple
of references need to better specify move-semanticsSection: 22.3 [pairs] Status: Resolved Submitter: DIN Opened: 2010-08-25 Last modified: 2016-01-28
Priority: Not Prioritized
View all other issues in [pairs].
View all issues with Resolved status.
Discussion:
Addresses DE-16
Several pair
and tuple
functions in regard to move
operations are incorrectly specified if the member types
are references, because the result of a std::move
cannot
be assigned to lvalue-references. In this context the usage
of the requirement sets MoveConstructible
and
CopyConstructible
also doesn't make sense, because
non-const lvalue-references cannot satisfy these requirements.
[ Resolution proposed by ballot comment ]
Replace the usage of std::move
by that of
std::forward
and replace MoveConstructible
and
CopyConstructible
requirements by other requirements.
[ 2010-10-24 Daniel adds: ]
Accepting n3140 would solve this issue.
[ 2010-11 Batavia: ]
Resolved by adopting n3140.
Proposed resolution:
See n3140.