digitalmars.D.bugs - Issue 8184 - problem with tuple argument deduction
- Zhenya (36/36) Jun 10 2012 this work
this work class Bind(alias indeces) { static if(is(typeof(indeces) : int[])) { static auto opCall(D,V...)(D dg,V values) { static if(is(D d : R delegate(U), R, U...) && is(V == Combination!(indeces,ParameterTypeTuple!D))) { static if(indeces.length > 1) return Bind!(update!(indeces,indeces[0])[1..$])(Curry!(indeces[0])(dg,values[0]),values[1..$]); else return Curry!(indeces[0])(dg,values[0]); } } } } while this doesn't work class Bind(alias indeces) { static if(is(typeof(indeces) : int[])) { static auto opCall(R,U...)(R delegate(U) dg,Combination!(U) values) { static if(indeces.length > 1) return Bind!(update!(indeces,indeces[0])[1..$])(Curry!(indeces[0])(dg,values[0]),values[1..$]); else return Curry!(indeces[0])(dg,values[0]); } } }
Jun 10 2012