On 06/26/2012 06:17 PM, Mehrdad wrote: > void test1(T)(auto ref T) { } > void test2() { int a = 5; test1!(int)(a); } > > Is there any reason this should fail? There is not. I suppose the compiler completes instantiation without looking at the function parameter.