← Back to context

Comment by charcircuit

5 hours ago

Calling a function that takes a rref will never use a move constructor to create the parameter. We can statically know that both of your foo functions will not use a move constructor when constructing p.

>By changing only the callee we can cause a move

This move is for constructing t. p still is not constructed with a move constructor.

p in the callee is not constructed at all. It's a reference.

> Calling a function that takes a rref will never use a move constructor to create the paramete

This is what I mean by talking past each other. This is literally what I said.

Well, I wouldn't say the parameter is "created", since I'd say that's an imprecise term in this context.