On 04/15/2016 02:15 AM, Vladimir Panteleev wrote:
On Friday, 15 April 2016 at 05:38:56 UTC, Andrei Alexandrescu wrote:
I think we should deprecate inout. For real. It costs way too much for
what it does. For all I can tell most of D's proponents don't know how
it works. -- Andrei

What would replace it in the case of classes, where you can't have
templated virtual methods? Perhaps a mechanism to declare a templated
virtual function, and a list of instantiations which will go into the
vtable?

You write several one-liners that forward to an internal template implementation.

If we are to kill inout and replace it with something else, then it
should support cases where inout failed, such as inout on the parameter
of a delegate passed to the function (see: inout opApply).

I think we should kill it, period. No replacement is really needed, for the most part most problems with inout are complications caused by the very presence of inout.

C++ has no parameterization of qualifiers and lived with it like a guy lives with a bald spot on a butt cheek. There's not even a proposal I can remember to fix that. Those duplications are the least of C++'s, or any langauge's, problems.

inout must go.


Andrei

Reply via email to