http://www.digitalmars.com/d/2.0/lex.html @ character is not listed as a token. http://www.digitalmars.com/d/2.0/attribute.html Various attributes like @safe and @pure are not listed. http://www.digitalmars.com/d/2.0/function.html Alternative syntax for pure and nothrow attributes is not documented. http://www.digitalmars.com/d/2.0/declaration.html New function attributes like @safe and @trusted are not listed neither as StorageClass nor as FunctionAttribute.
It's not that there's an alternative syntax for pure and nothrow, it's that (like immutable) they are both a storage class and attributes (the attribute form merely imbuing scoped declarations with the corresponding storage class). They should be listed in the attribute page, but aren't.
I would expect @pure and @nothrow to be going away. It was decided to go with pure and nothrow rather than @pure and @nothrow, so I don't see why the @ versions would be sticking around. We ended up with both, because it was debated as to what should use @ and what should be a keyword. @safe, @trusted, and @system are all valid, as is @property. However, I can't think of any others at the moment which are actually currently supposed to have @ on the front. And as for @ being a token, I'm not sure that it _is_ a token. I'd have to look at the lexer code to verify one way or another. Given the way that @ is used, I think that there's a decent chance that @safe, @trusted, @system, and @property are all considered tokens and @ isn't. I would like it to be though, since it would be necessary if we're ever going to get user-defined attributes.
(In reply to comment #0) > http://www.digitalmars.com/d/2.0/lex.html > @ character is not listed as a token. > It is listed as a token now
These are all taken care of.