Robert Clipsham wrote:
On 24/05/2011 04:28, Jonathan M Davis wrote:
Thoughts on this?
I believe that the best and most likely to be implemented syntax which
has
been suggested (it was Andrei's idea IIRC) is to simply add optional
clauses
to attributes. So, instead of pure, you'd do pure(condition). If the
condition
is true, the templated function it's on is pure. If the condition is
false,
then the function isn't pure. Don't expect pure to become @pure or
nothrow to
become @nothrow though. I think that at this point, any attribute
which is a
keyword is going to stay one, and any attribute that has @ on the
front of it
is going to stay that way as well.
- Jonathan M Davis
Wouldn't it make sense to follow the same syntax as auto ref? auto pure,
auto nothrow, auto @safe etc? (Although I guess that doesn't allow for
conditions, nevermind :<)
'auto ref' is one of worst syntax anomalies in the language. It should
be a single keyword -- eg, 'autoref' -- it has nothing in common with
the other use of 'auto', and it's not necessarily 'ref'.