AA char[] as key

simendsjo simendsjo at gmail.com
Tue Jan 3 11:25:55 PST 2012

seems T[char[]] is rewritten as T[const(char)[]], and does not accept 
char[] as key even if mutable data should automatically convert to const 

Shouldn't T[char[]] be disallowed, and have to be written as 
T[immutable(char)[]] instead of a silent rewrite?

     alias long[char[]] AA;
     // key automatically changed to const(char)[]
     static assert(is(AA == long[const(char)[]]));
     AA aa;
     aa["a"] = 10;
     // error - have to use immutable keys
     aa["b".dup] = 11;

More information about the Digitalmars-d-learn mailing list