On 02/22/2016 09:52 PM, Nicholas Wilson wrote:
How is this not a constant expression ?
auto ctodtypes =
[
     "void"      : "void",
     "uint32_t"  : "uint",
     "uint64_t"  : "ulong",
     "int32_t"   : "int",
     "int64_t"   : "long",
     "char"      : "char",
     "uint8_t"   : "ubyte",
     "size_t"    : "size_t",
     "float"     : "float"
];
dmd complains
source/emit/registryemitter.d(7): Error: non-constant expression
["void":"void", "uint32_t":"uint", "uint64_t":"ulong", "int32_t":"int",
"int64_t":"long", "char":"char", "uint8_t":"ubyte", "size_t":"size_t",
"float":"float"]

Because it's mutable: :)

    ctodtypes["hello"] = "world";

What context are you using it in?

Ali

Reply via email to