On Tuesday, 3 September 2013 at 21:52:58 UTC, Manfred Nowak wrote:
Carl Sturtivant wrote:
is supposed to transform one delegate into another

Then please declare the template parameters to be delegates:

U muddle( T, U)( T f) {
        uint g( int fp){
                return cast(uint)( 5* f( fp));
        }
        auto gP= &g;
        return gP;
}

unittest {
     import std.stdio;
              int x = 3;
            int scale( int s) { return x * s; }
auto f= muddle!( int delegate( int), uint delegate( int))( &scale);
        writeln( f(7));
}

But I want some inference. In the real code the relevant delegates will have lots of long messy signatures that have already been declared.

And in your example above, I want the arguments of the delegates in general to be a type tuple, because any delegate may be passed.


Reply via email to