static int f(long x) { return cast(int)((x >> 32) ^ (x & ((1UL << 32) - 1))); } static assert (is (RealFunction!f : Function!(long, int))); static assert (is (RealFunction!(f, int, int) : Function!(int, int))); static assert (is (RealFunction!(f, int, long) : Function!(int, long))); static assert (is (RealFunction!(f, long, long) : Function!(long, long)));
Template for converting a function to Function instance.