On 26/01/2015 11:39, Jonathan M Davis via Digitalmars-d wrote:
In theory, the increased consistency is welcome, but the increased visual
noise definitely is not.  And if we leave in pure and nothrow without @,
then we're going to have code out there doing both, which adds to the
confusion, and if we deprecate pure and nothrow without @, then we'll be
forced to change pretty much every D program in existence.

Only if the deprecation became an error.

But It's not like this really improves consistency all that much anyway,
because public, protected, package, private, final, override, static, const,
immutable, inout, and deprecated all don't have @.

Most of those also apply to variable members. pure, nothrow, return only apply to functions.

I like this change, but it might be better if final, override and inout gained @attribute syntax too. Then it would have more consistency.

Also the inverted-attribute option then doesn't need !ugly !sigils - @impure vs @pure, @throw vs @nothrow, etc.

In fact, priore to this, @safe,
@trusted, @system, and @property were the_only_  function attributes with @
on them.

There's also @disable and more recently, @nogc.

Reply via email to