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

Dein dwin at d.com
Fri Jan 25 10:08:28 UTC 2019


On Friday, 25 January 2019 at 07:33:02 UTC, Walter Bright wrote:
> 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.

Bit ironic considering how some DIPs are being handled. Changes 
for dip 1000 are already being integrated in Phobos yet the dip 
is still only a draft and looks like part of it still needs to be 
rewritten. If you needed to iron out details by implementing it, 
then that should have been done on your own fork like everyone 
else instead of adding experimental code into master.


More information about the Digitalmars-d-announce mailing list