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.