Negation of attributes (DIP 79)

via Digitalmars-d digitalmars-d at puremagic.com
Tue Jun 2 07:36:12 PDT 2015


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.


More information about the Digitalmars-d mailing list