Let's say you want to use object composition instead of inheritance. Now you want to forward half-a-dozen method from the new to class to the composed class, like so:
class NewClass { ImplT implementor; ... // Do some method forwarding void func1(int a, float b) { implementor.func1(a,b); } string func2(string s) { return implementor.func2(s); } T aTemplate(T)(T val, T[] arr) { return implementor!(T)(val,arr); } ... } It becomes pretty tedious to type all these things out, and if the base class changes a method signature, you have to remember to do it in the parent class too. So the challenge is to write some kind of template that does the necessary argument deduction to implement a forwarder just by mentioning the name of the method and the object to forward to. Something like this perhaps for the usage syntax: mixin call_forward!(implementor, "func1"); mixin call_forward!(implementor, "func2"); mixin call_forward!(implementor, "aTemplate"); Is it possible? Somebody must have done something like this already. --bb