LDC silently strips extern(C) from mixins.
import tango.core.Traits;
import tango.io.Stdout;
alias extern(C) void function() FT1;
alias extern (C) void function(FT1) FT2;
FT2 fd;
//from OS.d
template Foo( alias cFunc )
{
alias ParameterTupleOf!(cFunc) P;
mixin("public static void fd( P p ){ }");
}
void main()
{
//ldc (1.057): void function((void function() _param_0) p)
//dmd 1.057: void function((void C function() _param_0) p)
Stdout(typeof(&Foo!(fd).fd).stringof).nl;
}
This bug is probably related to #357 and prevents ldc from being able to build GTKD (caused in gtk.d/OS.d).