Section: 126.96.36.199 [meta.trans.other] Status: C++11 Submitter: Jason Merrill Opened: 2009-08-07 Last modified: 2016-01-28 10:19:27 UTC
Priority: Not Prioritized
View all other issues in [meta.trans.other].
View all issues with C++11 status.
I notice that std::decay is specified to strip the cv-quals from anything but an array or pointer. This seems incorrect for values of class type, since class rvalues can have cv-qualified type (7.2.1 [basic.lval]/9).
[ 2009-08-09 Howard adds: ]
See the thread starting with c++std-lib-24568 for further discussion. And here is a convenience link to the original proposal. Also see the closely related issue 705.
[ 2010 Pittsburgh: Moved to Ready. ]
Add a note to decay in 188.8.131.52 [meta.trans.other]:
[Note: This behavior is similar to the lvalue-to-rvalue (4.1), array-to-pointer (4.2), and function-to-pointer (4.3) conversions applied when an lvalue expression is used as an rvalue, but also strips cv-qualifiers from class types in order to more closely model by-value argument passing. — end note]