DIP 1016--ref T accepts r-values--Formal Assessment

Neia Neutuladh neia at ikeran.org
Sat Jan 26 02:49:04 UTC 2019

On Fri, 25 Jan 2019 18:14:56 -0800, Manu wrote:
> Removing the `void` stuff end expanding such that the declaration +
> initialisation is at the appropriate moments; any function can throw
> normally, and the unwind works naturally?

The contention was that, if the arguments are constructed properly, 
ownership is given to the called function, which is responsible for 
calling destructors. But if the argument construction fails, the caller is 
responsible for calling destructors.

I'm not sure what the point of that was. The called function doesn't own 
its parameters and shouldn't ever call destructors. So now I'm confused.

More information about the Digitalmars-d-announce mailing list