I tried writing a template function that detects function pointer types but it does not work for function marked wiht any extern qualifier. I tried around but couldn't find a way to make it work. Any suggestions on this?
template isFunctionPointer(T){ pragma(msg,T); static if(is(T VAR == RET function(ARGS),RET,ARGS...)){ enum bool isFunctionPointer = true; } else { enum bool isFunctionPointer = false; } } alias void function() func1; extern(C) alias void function() func2; extern(Windows) alias void function() func3; extern(C++) alias void function() func4; pragma(msg,isFunctionPointer!(func1)); //true pragma(msg,isFunctionPointer!(func2)); //false pragma(msg,isFunctionPointer!(func3)); //false pragma(msg,isFunctionPointer!(func4)); //false void main(string[] args){ } Kind Regards Benjamin Thaut