On Tuesday, 2 June 2015 at 10:29:35 UTC, Daniel Kozak wrote:
I am working on dip which will try to addressed negation of
attributes issue.
http://wiki.dlang.org/DIP79
There are two subtly different things that "negation of
attributes" can mean:
a) switch off an attribute that has been enabled by `attr:` or
`attr { }`, and
b) switch on the opposite of an attribute.
I guess this is about a)? Option b) would have further use cases,
e.g. `cast(!const) ...`.
Have you thought whether it should also be usable with UDAs? That
would be more difficult than with normal attributes, because UDAs
can be either values or types. Values would need to be comparable
(opEquals).
I would also strongly recommend not to allow CTFE expressions,
should the `attr(...)` form be chosen.