On Friday, 11 March 2022 at 04:41:40 UTC, Andrey Zherikov wrote:
I have simple template:
```d
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.
Create an alias for T!() is the best you can do.
Ex.
```
alias t = T!();
```
There isn't really any better method as far as I know.