struct Foo
{
static size_t index(size_t v)()
{
return v;
}
}
enum s = Foo.index!(0)();
----
CTFE internal error: cannot evaluate (Foo , index)() at compile time
----
In CallExp::semantic around line 7513:
if (!f->needThis())
{
VarExp *ve = new VarExp(loc, f);
e1 = new CommaExp(loc, ue->e1, ve);
e1->type = f->type;
}
a comma expression is created with ue->e1 being a TypeExp.
The CTFE interpretation can't handle this case in CallExp::interpret.