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.

### 1380. `pair` and `tuple` of references need to better specify move-semantics

Section: 20.4 [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.