On Wednesday, 28 January 2015 at 15:18:44 UTC, Kagamin wrote:
Same goes for possible introduction of new attributes - if
syntax for those and UDA is identical, it can break code same
as introducing new keywords.
Same for any symbol. Do you have a solution?
Long time ago I have proposed to actually define built-it
attributes as UDA's in public druntime module. That way any
possible conflict can be resolved relatively easy with dfix using
module system disambugation (or just hard-code druntime symbols
to be legal to shadow by user ones, though that sounds too much
of a magic and surprise)
I don't see any _vision_ behind the change, just moving bits
around.
It is not well-thought.
@pure, @nothrow and @return are relatively obscure attributes,
so if they change, it should cause minor commotion. If you want
to overhaul everything, you can propose a DIP.
The one who wants to make a change should propose a DIP. I am
personally OK with status quo for the time being - there are more
important issues.