1362. Description of binding to rvalue-references should use the new 'xvalue' vocabulary

Section: 20.5.4.9 [res.on.arguments] Status: C++11 Submitter: INCITS Opened: 2010-08-25 Last modified: 2017-03-22

Priority: Not Prioritized

View all other issues in [res.on.arguments].

View all issues with C++11 status.

Discussion:

Addresses US-82

20.5.4.9 [res.on.arguments] p.1. b.3: The second Note can benefit by adopting recent nomenclature.

[ Resolution proposed by the ballot comment: ]

Rephrase the Note in terms of xvalue.

[ Pre-Batavia: ]

Walter Brown provides wording.

[Batavia: Immediate]

[ Adopted at 2010-11 Batavia ]

Proposed resolution:

Amend the note in 17.6.3.9 [res.on.arguments] p1 bullet 3.

[ Note: If a program casts an lvalue to an rvaluexvalue while passing that lvalue to a library function (e.g. by calling the function with the argument move(x)), the program is effectively asking that function to treat that lvalue as a temporary. The implementation is free to optimize away aliasing checks which might be needed if the argument was anlvalue. — end note]