A work-around of that type required by a core language feature is not a sign of quality...
It get's me every single time, and I forget and have to go and find out why again each time. Please, fix it finally. On 11 November 2013 18:33, simendsjo <simend...@gmail.com> wrote: > On Monday, 11 November 2013 at 08:30:32 UTC, Manu wrote: > >> immutable string[string] priorityMap = [ >> "1" : "blocker", >> "2" : "critical", >> "3" : "critical", >> "4" : "major", >> "5" : "major", >> "6" : "major", >> "7" : "minor", >> "8" : "minor", >> "9" : "trivial" ]; >> >> main.d(56): Error: non-constant expression ["1":"blocker", "2":"critical", >> "3":"critical", "4":"major", "5":"major", "6":"major", "7":"minor", >> "8":"minor", "9":"trivial"] >> >> This is tedious, how long has it been now? >> Seriously, static map's are super-important, they should be able to be >> made >> immutable, and also be able to be initialised. >> >> Maybe this could be factored into the improvements for 2.065? >> > > The workaround is simple at global scope, but I agree it clutters the code: > > immutable string[string] priorityMap; > shared static this() { > > priorityMap = [ > "1" : "blocker", > "2" : "critical", > "3" : "critical", > "4" : "major", > "5" : "major", > "6" : "major", > "7" : "minor", > "8" : "minor", > "9" : "trivial" ]; > } >