"Can we simply make it so that the compiler automatically creates a variable when you pass an rvalue to a non-templated auto ref function?"

So non-template auto ref parameters are just like ref parameters, except they will automatically convert rvalues to lvalues on call by creating a local variable. Normal ref parameters will still need lvalues.

I made a pull requests that implements this:

https://github.com/D-Programming-Language/dmd/pull/1428

I don't have a good knowledge of the DMD cod base, so there could be some problems with this that I am not aware of, but it does seem to work.

Reply via email to