[Issue 7529] IFTI does not support template argument dependent template alias instances as parameter types
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Fri Feb 17 07:21:00 PST 2012
http://d.puremagic.com/issues/show_bug.cgi?id=7529
--- Comment #10 from timon.gehr at gmx.ch 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: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list