On 2013-11-07 02:04:36 +0000, Adam D. Ruppe said:

On Thursday, 7 November 2013 at 00:13:49 UTC, Shammah Chancellor wrote:
My understanding is that @ attributes were for used-defined behavior only.

It is all a historical thing... at first, all new things were done as keywords. Then around the time @safe came around, they were changing their minds and new things became @keywords. Then, some time after that, UDAs came around and used the @ syntax.

But the reason it is pure and @safe instead of @pure @safe or pure and safe is just historical accident - they were introduced in that particular phase, and now the worry is changing it will annoyingly break too much code for very little real benefit.

There's an easy solution to that. Put warnings on pure, nothrow, and immutable ( in the function tag context) and add @pure, @nothrow, @immutable etc. Fix it going forward and eventually remove it.

Reply via email to