You can structre the code differently to get around that. There is a real desire to use NRVO "one" in cases when it is returned as well, if possible.