On 05/09/2013 11:35 PM, Manu wrote:
...

I don't think this is entirely true, auto ref is a template concept,

In the current implementation, but not necessarily.

that is, "automatic ref-ness", it selects the ref-ness of the argument
automatically, at compile time, just like auto applied everywhere else
(selects a type for instance, at compile time).

auto was carried over from C and originally stands for local lifetime. It does _not_ mean "apply type deduction here".

This concept doesn't
make any sense applied to a non-template. It *IS* a ref as specified by
the programmer, there's nothing 'automatic' about it.


Most keywords are poorly chosen.

So to say it will do 'exactly the same thing' is a misunderstanding. I
argue that 'auto ref' as applied to non-templates will only create
confusion, it effectively re-enforces the type of confusion that you
have just shown.

This is the reasoning for the argument behind scope ref, which to my
mind actually makes good sound sense, and should lead people to a proper
understanding of what you are actually doing.
Considering the key argument against 'scope ref' is that people don't
want to require more attributes to make use of it,

This is inaccurate.

I don't see how 'auto ref' satisfies this argument either.

Sure, it wouldn't.

Thus, I am quite happy happy with 'ref', it can be made safe, satisfies
the argument above, and this seems like a very good start that we might
actually all agree on.

It can make code evolution less straightforward.

Reply via email to