DIP 1016--ref T accepts r-values--Formal Assessment
Walter Bright
newshound2 at digitalmars.com
Fri Jan 25 07:33:02 UTC 2019
No, it is not rejected in principle. Finding serious errors in it on the eve of
approval is disappointing, and is not auspicious for being in a hurry to approve it.
For example, I spent a lot of time working on ARC, and was all set to move
forward with it when Timon stepped in and showed it was fundamentally memory
unsafe. I couldn't come up with a reasonable solution. I'm grateful that Timon
saved me from much further wasted work and embarrassment.
Rvalue references are not a simple problem (although they appear to be). I do
believe the problems with it are solvable, but it is a bit unfair to the
implementor to dump an incomplete spec on him and have him fill in the gaps. The
statement thing is a "do what I meant, not what I wrote" example, and DIPs need
to be better than that. You're leaving him to design where the temporaries go,
where the gates go, and ensure everything is properly exception safe.
I know it's frustrating for you, but it's worse if an rvalue-ref implementation
is implemented, shipped, and heralded, and then turns out to be very broken.
More information about the Digitalmars-d-announce
mailing list