This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of C++11 status.

### 1386. `pack_arguments` overly complex

Section: 22.4.5 [tuple.creation] Status: C++11 Submitter: INCITS Opened: 2010-08-25 Last modified: 2016-01-28

Priority: Not Prioritized

View all other issues in [tuple.creation].

View all issues with C++11 status.

Discussion:

Addresses US-99

`pack_arguments` is overly complex.

[ Resolved in Rapperswil by a motion to directly apply the words from the ballot comment in N3102. ]

Proposed resolution:

This issue resulted from a lack of understanding of how references are forwarded. The definition of `pack_arguments` should be simply:
`template <class... Types> tuple<ATypes&&> pack_arguments(Types&&...t);`
Types: Let `Ti` be each type in `Types`....
Effects: ...
Returns:
`tuple<ATypes&&...>(std::forward<Types>(t)...)`
The synopsis should also change to reflect this simpler signature.