Hi!

Is it possible to read all attributes in case of overloading functions? Example:

struct Att { string name; }
struct Att2 { string name; }
@Att void testUDA(string x) { writeln("test(string ",x,")"); }
@Att2 void testUDA(int x) { writeln("test(string ",x,")"); }

void main(string[] args)
{
        testUDA("aaa");
        testUDA(100);

        foreach (attr; __traits(getAttributes, testUDA)) {
                if (attr.stringof == "Att") writeln("Found Att");
                if (attr.stringof == "Att2") writeln("Found Att2");
        }
}

results in one (!) "Found Att".
Seems like "First comes, first wins".

Regards, Ozan

Reply via email to