> > In the meanwhile maybe you can try a workaround with templates? > Something like: > > void f(D1, D2)(D1 d, D2 d2) if (is(D1:Data) && is(D2 : Data2)) > { > // Temp vars and assignment > ... > ... > f(tmpD1, tmpD2); > } Yes, that does the job.