On Wed, 23 Jun 2010 00:41:45 -0700, Ali Çehreli wrote: > Ali Çehreli wrote: >> dcoder wrote: >> >> > So, I moved the initialization to inside the main function, and now >> it works. >> > Great. I think we need to put this question in the FAQ. >> >> For future reference, if it really needs to be global: >> >> uint[string] mywords; >> >> static this() >> { >> mywords = [ "Hello" : 1, "World" : 1, "Cat" : 1, "Dog" : 1 ]; >> } > > Could someone please verify whether the above is really necessary? Is it > actually a dmd bug that we need to use 'static this()' to initialize an > associative array? > > Ali
I can't remember where exactly I read it, but there's a line in the docs specifically forbidding the use of AAs in constant expressions, so it's by design AFAIK.