> Pass-By-Value: Detect const-ref parameters that would benefit from using the pass-by-value idiom.<p>I don't get why to make this change and the justification (after following 2 links deep: Want Speed? Pass by Value) is a 404.<p>Move constructors are great and it's awesome that a bunch of what used to be copy-constructor overuse in C++03 can now be done without deep copies in C++11. But I don't understand why explicitly move from something that is explicit and guaranteed to be cheap (pass by reference) to something that might be cheap if everything has reasonable move-ctors or (if not all ducks are in a row) might simply degrade to incurring the C++03-style over-copies. Does not seem like a strict improvement to me. Seems instead like blindly applying this to existing code will slow it down in some cases, possibly dramatically.
Very nice to see improvements to the tool landscape for C++. I'm sure the toolset that will emerge will be very nice. I just don't see any situation where I would like to subject any production codebase to this particular transform just for the fun of it. Cool CS toy, though.
I see no tangible reason to do this. I mean, all of this is <i>nice</i>, but it's just messing with the working codebase for the sake of messing with it.