DIP 1016--ref T accepts r-values--Formal Assessment
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