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