rvalue references

kink via Digitalmars-d digitalmars-d at puremagic.com
Tue Jun 9 09:23:41 PDT 2015


On Tuesday, 9 June 2015 at 15:08:07 UTC, Steven Schveighoffer 
wrote:
> Because it's not moved. It's written in the stack where it will 
> be passed to the next function.

Hmm, you mean the callee's function parameters stack? That's not 
always going to work, e.g., on Win64 the first 4 args are passed 
in registers, always. And, as I said, that ABI doesn't support 
byval passing of types > 64 bits (let's exclude vector types 
here), so rvalues > 64 bits can sadly not be constructed in-place 
without violating the Win64 ABI - they'll have to be passed byref.


More information about the Digitalmars-d mailing list