On Sunday, 21 June 2015 at 01:26:51 UTC, Adam D. Ruppe wrote:
On Saturday, 20 June 2015 at 01:50:11 UTC, Yuxuan Shui wrote:auto ref R) is indeed a template function, so I don't understand.But R is not a parameter on the function itself. It comes from the outside template.Move it to the inside template, rewrite it as: auto a(S, R)(auto ref R i) { return cast(S)i*2; } and you should get further.
But surely nested template should be able to access outer template's parameter.