On Monday, 15 July 2013 at 13:47:10 UTC, Dicebot wrote:
On Monday, 15 July 2013 at 13:01:05 UTC, JS wrote:
...
I see. No, unfortunately, I am currently not aware of a way to
make symbol act as type and and value at the same time.
However it is worth noting that you use plenty of excessive
attributes. Currently it is not a compiler error but makes code
much harder to read and confusing. For example, "final" has no
meaning for structs as they can't be inherited from anyway.
Duplicating immutable is also excessive because it is
transitive.
Original I had it as a class. I'm not sure if it matters much
between a class and a struct though?
In any case, I solved this problem by using an attribute to test
instead of using isMutable. Obviously this requires adding a
symbol but not a huge deal.
e.g.,
@Enum immutable struct ...
and hasAttribute(T, Enum) replaces isMutable(T).