Auto-casting in range based functions?
    Andrew Stanton 
    refefer at gmail.com
       
    Sun May 13 10:49:00 PDT 2012
    
    
  
I have been playing around with D as a scripting tool and have 
been running into the following issue:
-----------------------------------
import std.algorithm;
struct Delim {
     char delim;
     this(char d) {
         delim = d;
     }
}
void main() {
     char[] d = ['a', 'b', 'c'];
     auto delims = map!Delim(d);
}
/*
Compiling gives me the following error:
/usr/include/d/dmd/phobos/std/algorithm.d(382): Error: 
constructor test.Delim.this (char d) is not callable using 
argument types (dchar)
/usr/include/d/dmd/phobos/std/algorithm.d(382): Error: cannot 
implicitly convert expression ('\U0000ffff') of type dchar to char
*/
-----------------------------------
As someone who most of the time doesn't need to handle unicode, 
is there a way I can convince these functions to not upcast char 
to dchar?  I can't think of a way to make the code more explicit 
in its typing.
    
    
More information about the Digitalmars-d-learn
mailing list