Initializing "two-dimensional" compile-time enum

Uranuz neuranuz at gmail.com
Sun Nov 24 04:24:07 PST 2013


Compiling following code makes another strange error message.

import std.stdio;

enum string[int][string] pohodEnumValues = [
	"vid": [ 3: "skiing", 5: "rafting", 7: "jumping" ].dup,
	"ks": [ 1: "first", 2: "second", 3: "third" ].dup,
	"prepare": [ 1:"planning", 3:"preparing", 5:"complete" ].dup
];


void main()
{
	writeln(pohodEnumValues);
	
}

//-------
Compilation output:
/opt/compilers/dmd2/include/object.di(435): Error: _aaApply2 
cannot be interpreted at compile time, because it has no 
available source code
/opt/compilers/dmd2/include/object.di(458):        called from 
here: this.opApply(delegate int(ref int __applyArg0, ref string 
__applyArg1) => 0)
/d895/f161.d(5):        called from here: [3:"skiing", 
5:"rafting", 7:"jumping"].dup()


More information about the Digitalmars-d mailing list