xxxxxxxxxx
import std.stdio;
import std.traits;
import std.meta;
int foo(scope int function(int), int, scope int delegate(int))
{
return 1;
}
template Fil(T)
{
enum Fil = !is(T == int);
}
void main()
{
alias P = Parameters!foo;
pragma(msg, P);
pragma(msg, Filter!(Fil, P));
alias F1 = ReturnType!foo function(P);
alias F2 = ReturnType!foo function(Filter!(Fil, P));
pragma(msg, F1);
pragma(msg, F2);
writeln("Hello D");
}