Return Value Optimization: specification, requirements?

XavierAP n3minis-git at
Sat Feb 2 09:58:25 UTC 2019

I've heard here and there that D guarantees RVO, or is even 
specified to do so...

Is it spelled out in the language specification or elsewhere? I 
haven't found it.

Do you know the exact requirements for RVO or NRVO to be possible 
in theory, and to be guaranteed in practice in D? Does it depend 
only on what is returned, or does it depend how it's constructed?

I know I can debug to find out case by case, but that's the kind 
of C++ stuff I want to avoid... I want to know the 


More information about the Digitalmars-d-learn mailing list