On Monday, 22 October 2018 at 10:45:07 UTC, test wrote:
On Monday, 22 October 2018 at 10:29:56 UTC, Stanislav Blinov
wrote:
On Monday, 22 October 2018 at 10:16:22 UTC, test wrote:
and
On Monday, 22 October 2018 at 10:45:07 UTC, test wrote:
test1.d
=====================
alias Fn1 = void function();
struct XX {
alias Fn = Fn1;
enum Y {
aa
}
static void Test(){}
int id;
}
test2.d
=====================
import test1;
void GetPub(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(){
GetPub!XX;
}