rvalue references
Jonathan M Davis via Digitalmars-d
digitalmars-d at puremagic.com
Tue Jun 2 23:58:13 PDT 2015
On Wednesday, 3 June 2015 at 03:43:09 UTC, bitwise wrote:
> I can't remember right now what the reasoning was for 'const
> ref' not to take
> rvalues in the first place. I think it was that you could
> escape the reference,
> but this isn't true anymore with DIP25 right?
The one to ask is Andrei. I can never remember all of the
details, because it has to do with the details of how it causes
problems in C++. IIRC, the problem stems from the fact that you
can no longer tell whether the parameter represents an lvalue or
a temporary. I don't know how big a deal it really is, but Andrei
is emphatic about it.
But regardless, because of how restrictive const is in D,
requiring const to have a parameter accept both lvalues and
rvalues is just too restrictive anyway. A lot of the same
developers who are insistent on having rvalue references for
efficiency are exactly the sort of developers who will avoid
const, because it's physical const and not logical const and thus
prevents stuff like caching or lazy loading.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list