xxxxxxxxxx
import std.stdio;
void test3(t)() {
import core.stdc.stdio;
printf("%s\n", t.stringof.ptr);
}
void test2(bool check)() {
static if(check) test3!(typeof(&test2))();
else test3!(int)();
}
void main() {
auto p1 = &test2!false;
auto p2 = &test2!true;
test2!false();
p1();
test2!true();
// p2(); // error can't call @nogc function
printf("---\n%s\n%s\n", typeof(p1).stringof.ptr, typeof(p2).stringof.ptr);
}