On Monday, 10 October 2022 at 06:30:05 UTC, Arun wrote:
Stumbled upon this question on HN https://news.ycombinator.com/item?id=33142751#33147401

Can I write template A and then apply it to itself to get template B and then apply that onto template C to get template D.

Does anyone have an example for this?

You can just write that down in code:

```d
template D() { enum D = "It's me, template D!"; }

template A(alias MyA)
{
    template A(alias MyC)
    {
        alias A = D;
    }
}

template C() {}

alias B = A!A;
alias MaybeD = B!C;
pragma(msg, MaybeD!()); /* prints "It's me, template D!" */
```

Reply via email to