constant expression

Ali Çehreli via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Feb 22 23:26:01 PST 2016


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



More information about the Digitalmars-d-learn mailing list