Error: template cannot deduce function from argument types.
    Damian Day via Digitalmars-d-learn 
    digitalmars-d-learn at puremagic.com
       
    Sat Aug 23 19:53:40 PDT 2014
    
    
  
Hi, I've been trying to reduce a bug in the containers (8824).
 From the example below it seems the dup method is passing the 
constructor
an array of dchars and the template is failing.
Is this a compiler bug, or ?
import std.range, std.traits;
struct Array2(T)
{
     private T[] _payload;
     size_t insertAt(R)(size_t index, R rng)
         if (isInputRange!R && 
isImplicitlyConvertible!(ElementType!R, T))
     {
         return 0;
     }
     this(U)(U[] values...)
         if (isImplicitlyConvertible!(U, T))
     {
         insertAt(0, values);
     }
     @property Array2 dup()
     {
         return Array2(_payload);
     }
}
unittest
{
     Array2!int a; //passes
     Array2!char a; //fails
}
    
    
More information about the Digitalmars-d-learn
mailing list