--- Comment #10 from 2012-02-17 07:20:59 PST ---
If you think it is invalid you misunderstand the issue. This is about extending
IFTI so that it can match templated aliases.

template Alias(T){ alias Foo!T Alias;}

void foo(T)(Alias!T x){ pragma(msg, T); }

foo(Foo!int); // prints 'int'

What effectively would need to be done at the compiler side:

- If a template parameter type is a template, check whether it is an eponymous
alias template (like template Alias(T){ alias Foo!T Alias; }
- If so, expand the template without knowing the type it is instantiated with

void foo(T)(Alias!T x){ ... } => void foo(T)(Foo!T x){ ... }

This is always a valid transformation for eponymous alias templates.

This does not introduce any dependencies across parameters.

Configure issuemail:
------- You are receiving this mail because: -------

Reply via email to