Why the @ in @safe? & UDAs
Shammah Chancellor
anonymous at coward.com
Wed Nov 6 19:11:02 PST 2013
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.
More information about the Digitalmars-d
mailing list