As far as I understand I can't use immutable values as template arguments. It's what I need in my code. I'll give an example.

//---------------
import std.stdio;

immutable(string[int][string]) pohodEnumValues;

shared static this()
{
    pohodEnumValues = [
        "vid": [ 3: "skiing", 5: "rafting", 7: "jumping" ],
        "ks": [ 1: "first", 2: "second", 3: "third" ],
        "prepare": [ 1:"planning", 3:"preparing", 5:"complete" ]
        ];
}

//Some template method
void foo(string arg)()
{ //Some actions here
        
}

void main()
{
        foreach( name, item; pohodEnumValues )
        {       foo!(name)(); //I need name at compile time here
        }
}
//-----------------

Because we have only compile time foreach over tuple this is not working. Can someone give an advice, please?

Reply via email to