xxxxxxxxxx
import std.meta;
import std.traits;
void main()
{
}
class A {
"Has foo_A") template foo(string s) if (s == "a") { (
enum foo = "foo_A";
}
"Has foo_B") template foo(string s) if (s == "b") { (
enum foo = "foo_B";
}
}
struct S {
string name;
}
pragma(msg, A.foo!"a");
pragma(msg, A.foo!"b");
pragma(msg, __traits(hasMember,A,"foo"));
pragma(msg, __traits(getMember,A,"foo").stringof);
pragma(msg,getSymbolsByUDA!(A, S).length);
pragma(msg,getSymbolsByUDA!(A, S)[0].stringof);
pragma(msg, __traits(getOverloads,A,"foo").length); // Why 0??