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

Reply via email to