On Wednesday, 28 January 2015 at 15:25:05 UTC, Dicebot wrote:
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 suppose, when UDA conflicts with builtin attribute, that UDA
can be still disambiguated through module system.