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.