Clang (6.0) emits "ud2" instructions for both auto&& and const auto&. If
the const auto& can bind directly to an r-value, this must mean Clang is
wrong, or am I missing something?
GCC on the other hand emits code for both functions, although with slight
difference (I'm not skilled enough in assembler to analyze the GCC output
in further detail)
Code example: https://godbolt.org/g/7fjszE https://godbolt.org/g/uNJoZB
/Viktor
On Fri, Mar 23, 2018 at 1:06 PM Peter Dimov via Boost
Matt Calabrese wrote:
On Fri, Mar 23, 2018 at 12:01 PM, Peter Dimov via Boost
wrote: Interesting question. value() && returns T&&. The auto const& reference can't bind directly to T&&, because that's not an lvalue.
An lvalue-reference-to-const can bind to an rvalue (it's why you can pass an rvalue to a function that takes a "const T&").
You're right, it does bind directly. http://eel.is/c++draft/dcl.init.ref#5.3.1
_______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost