I have a question regarding template value parameters.

As this works:

    template B(T, T[] foo) {}

I expected

    template A(U) {}
    template B(T, A!T foo) {}

to work, too. Currently, it failes with "undefined identifier `T`".

I'm not sure as why T is undefined in this case, as the first example works properly.

In the same vein:

    alias A(U) = int;
    template B(T, A!T u) {}

This failes to compile with "undefined identifier `T`", too.

Why is this happening?

I'm using DMD v2.076.0.

Reply via email to