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.
Section: 16.4.5.9 [res.on.arguments] Status: C++11 Submitter: INCITS Opened: 2010-08-25 Last modified: 2017-03-21
Priority: Not Prioritized
View all other issues in [res.on.arguments].
View all issues with C++11 status.
Discussion:
Addresses US-82
16.4.5.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 argumentmove(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]