On Tuesday, 25 December 2012 at 14:09:13 UTC, Andrei Alexandrescu
wrote:
On 12/25/12 12:34 AM, Zhenya wrote:
On Tuesday, 25 December 2012 at 01:40:16 UTC, Peter Alexander
wrote:
On Tuesday, 25 December 2012 at 00:56:44 UTC, Peter Alexander
wrote:
On Monday, 24 December 2012 at 17:40:54 UTC, Jonathan M
Davis wrote:
And if that doesn't work, 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?
I don't see any problems with this, but I admittedly haven't
thought
too much about it.
If there are no problems with this way, then what I want to
know is
why the template version of auto ref wasn't implemented this
way. The
way auto ref is currently implemented for templates is a bit
of a mess.
Maybe it's difficult to generate both versions because for the
function
like this
void foo(auto ref S s1,auto ref S s2,...,auto ref s10)
compiler should generate 2^10 versions of function foo.
The compiler will only generate as many versions as there are
compatible calls.
Andrei
In such a case, this is incompatible with virtual method.