Why the @ in @safe? & UDAs

Michael pr at m1xa.com
Thu Nov 7 11:21:48 PST 2013


On Thursday, 7 November 2013 at 16:24:38 UTC, Dicebot wrote:
> On Thursday, 7 November 2013 at 15:55:47 UTC, Jonathan M Davis 
> wrote:
>> Then should public and private be @public and @private in 
>> order to be
>> consistent? Then we'd be inconsistent with C++, Java, C# etc. 
>> which would make
>> it that much harder for folks to learn D. Would you want 
>> @static and @const?
>
> One thing experimented with in Volt (D derivative) design is 
> that all stuff that affects mangling/ABI gets own keyword 
> without "@" and all stuff that fades away like UDA's is 
> prefixed with "@". This implies @public and @private, yes, but 
> is quite a simple and consistent rule on its own. We will see 
> go it will work :) There are some tricky corner cases of course 
> with stuff like @nogc/nogc.
>
> P.S. There was a mention that introduction of UDA's has made 
> addition of new @-prefixed built-ins impossible without 
> breakage. It is not entirely true as symbols used in UDA's are 
> qualified and conform to normal symbol lookup rules. Only 
> problem is that built-in stuff is pure magic and has no own 
> module.

So, @ for UDA only?
+1



More information about the Digitalmars-d mailing list