DMD chokes on UDAs of mixin enum members
BLM768
blm768 at gmail.com
Fri Apr 26 14:50:50 PDT 2013
I've got some code that reduces to the following test case:
------
mixin template stuff() {
enum someEnum = "testing";
static void test() {
foreach(member; __traits(allMembers, typeof(this))) {
pragma(msg, member);
foreach(attribute; __traits(getAttributes, __traits(getMember,
typeof(this), member))) {
pragma(msg, attribute);
}
}
}
}
enum Attribute;
struct Test {
mixin stuff;
@Attribute size_t n;
}
------
DMD handles most of the members just fine, but it is unable to
process someEnum:
------
>rdmd case.d
someEnum
case.d(7): Error: first argument is not a symbol
case.d(7): Error: invalid foreach aggregate false
test
n
Attribute
------
Is there some subtle point I'm missing, or is this just a bug?
More information about the Digitalmars-d-learn
mailing list