I also think that we do not need 'inline' or 'register'. Nowadays, compilers can really assess the situation much better than we do.

I don't see any reason to not allow the compiler to do so and create copy on a per needed basis, by optimizing pass-by value into pass-by-reference when it can prove it doesn't change the semantic (see my thread on the topic, but modify it to apply the restriction to anything possibly aliased).

For the same reason as inline and register, I do think the default behavior is to let the compiler choose what is the bast as long as it doesn't change the final behavior.

I know your thread, I was one of the most active there. And I liked the idea, provided such parameters must be still manually denoted. And if such parameters are also denoted with 'in' or 'const scope', I see no way that they could be manipulated. I was hoping that Andrei and Walter could say something about the topic. I like to see something like that and it would solve the 'rvalue ref' problem also.

Reply via email to