I have simple template:
template T(int i=3)
{
mixin template M(int m)
{
enum t = i;
}
}
{
mixin T!1.M!1;
pragma(msg, t); // 1
}
{
mixin T!().M!1;
pragma(msg, t); // 3
}
{
mixin T.M!1; // Error: identifier `M` of `T.M` is not defined
// Error: mixin `M!1` is not defined
pragma(msg, t); // Error: undefined identifier `t`
// while evaluating `pragma(msg, t)`
}
What should I do to be able to write T.M!...
? I want to omit verbose !()
for T
. Note that mixins are essential here.