http://d.puremagic.com/issues/show_bug.cgi?id=4413


Iain Buclaw <ibuc...@ubuntu.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |ibuc...@ubuntu.com


--- Comment #1 from Iain Buclaw <ibuc...@ubuntu.com> 2011-02-06 07:32:03 PST ---
Calling semantic on the param type in ::deduceType seems to be simplest
workaround without causing side effects.


--- a/src/template.c
+++ b/src/template.c
@@ -2183,6 +2183,7 @@ MATCH TypeStruct::deduceType(Scope *sc, Type *tparam,
TemplateParameters *parame
      * to a template instance, too, and try again.
      */
     TemplateInstance *ti = sym->parent->isTemplateInstance();
+    tparam = tparam->semantic(0, sc);

     if (tparam && tparam->ty == Tinstance)
     {
@@ -2317,6 +2318,7 @@ MATCH TypeClass::deduceType(Scope *sc, Type *tparam,
TemplateParameters *paramet
      * to a template instance, too, and try again.
      */
     TemplateInstance *ti = sym->parent->isTemplateInstance();
+    tparam = tparam->semantic(0, sc);

     if (tparam && tparam->ty == Tinstance)
     {


Ideally though, all typeof()'s should have been expanded beforehand.

Regards

-- 
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------

Reply via email to