All function attributes possible with "@"?

Jonathan M Davis via Digitalmars-d digitalmars-d at puremagic.com
Tue Dec 13 19:49:23 PST 2016


On Tuesday, 13 December 2016 at 22:40:47 UTC, 01010100b wrote:
> So why not let all function attributes which are keywords also 
> be allowed to be used with a "@" prefixed?

Because it just creates yet another way to make one person's code 
look drastically different from another with no real gain? It 
would result in yet more style arguments without solving 
anything. And it wouldn't even reduce the number of quesions 
about it, because then we'd get a bunch of questions about stuff 
like what the difference between pure and @pure is.

Also, would you even allow @ on stuff like static or const? Those 
can be used elsewhere in places where nothing has @ on it, 
creating yet more inconsistencies if you allowed it in those 
places, and if you allowed @ when they were used on functions and 
not elsewhere, that's yet another inconsistency.

The _only_ way to eliminate all of the inconsistencies with @ is 
to get rid of it from everywhere but UDAs, and turn all of those 
built-in attributes into full-blown keywords, and we're simply 
not going to do that. Any other solution is just moving the 
inconsistencies around.

I say that when dealing with the built-in attributes, just treat 
@ like another letter in the keyword, learn it, and move on.

- Jonathan M Davis


More information about the Digitalmars-d mailing list