Hi! I get the following compile error (linux, dmd2.066.1): test.d(13): Error: template test.testFunc cannot deduce function from argument types !()(double[], double), candidates are: test.d(3): test.testFunc(R)(R range, ElementType!R foo)
For the following test file: import std.range: ElementType, isInputRange; ElementType!R testFunc(R)( R range, ElementType!R foo) // compiles with double foo { static assert( isInputRange!R ); ElementType!R retVal = foo*foo; return retVal; } void main() { double[] values = [0.0, 3.0, -1.0, 5.0]; auto result = testFunc( values, 8.8 ); } And I'm not sure what I'm doing incorrectly. It compiles/works fine if I hardcode the type for foo. Could someone enlighten me ? regards, ted