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.