> templates: > void foo(T)(T, void delegate(T) fn) > { > }
> This parameterizes foo based on T, which could be A, const A, or int, or > whatever works to compile the function. What if the parameters are more general, for instance the first parameter is always a Foo, the second is a delegate which takes a Foo.Bar, but they're always qualified the same way?