xxxxxxxxxx
import std.traits;
alias Fn1 = void function();
struct XX {
alias Fn = Fn1;
enum Y {
aa
}
static private struct XX1{
}
static void Test(){}
int id;
}
void xx(BaseType)(){
static foreach (name; __traits(allMembers, BaseType)) static if( name[0] !is '_' && __traits(getProtection, __traits(getMember, BaseType, name)) == "public" ) {
static assert( hasMember!(BaseType.init, name));
static if( __traits(isStaticFunction, __traits(getMember, BaseType, name)) ) {
pragma(msg, typeof(BaseType.init).stringof ~ "." ~ name);
}
}
}
extern(C) void main(){
xx!XX;
}