enum type changes according to context ?

Timothee Cour thelastmammoth at gmail.com
Thu Mar 28 16:02:18 PDT 2013


In code below, does transTable have a well defined type?
it seems to change from line 9 (string[char])
to line 10 (string[dchar])...

rdmd -version=bad main //CT erro
rdmd main //works
----
import std.string;
void main(){
    version(bad){
        auto transTable = ['[' : `\[`];
    }
    else{
        enum transTable = ['[' : `\[`];
    }
    pragma(msg,typeof(transTable)); //string[char] always
    auto s = translate("[", transTable); //CT error with -version=bad only
}
----


Error: translate (string str, string[dchar] transTable, string
toRemove = null) is not callable using argument types
(string,string[char])


More information about the Digitalmars-d-learn mailing list