Why the @ in @safe? & UDAs

Jonathan M Davis jmdavisProg at gmx.com
Wed Nov 6 20:45:15 PST 2013


On Wednesday, November 06, 2013 22:11:02 Shammah Chancellor wrote:
> 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.

And gain what? You force everyone to change their code for essentially zero 
benefit.

- Jonathan M Davis


More information about the Digitalmars-d mailing list