<div dir="ltr">Hi All,<br><br>I'm trying to use the getCanonicalTemplateSpecializationType() function from the ASTContext API to generate a TemplateSpecializationType. The API works just fine, except in the case where the Template class is qualified, e.g. with a namespace. For example, if I process the following code:<br><br>namespace foo {<br>template<typename T>bar {};<br>}<br><br>and generate a template specialization with an "int" argument, the result is "bar<int>" whereas it should be "foo::bar<int>". The reason, it seems, is an oddity in getCanonicalTemplateSpecializationType()'s implementation:<br><br>ASTContext.cpp:<br>3529  // Look through qualified template names.<br>3530  if (QualifiedTemplateName *QTN = Template.getAsQualifiedTemplateName())<br>3531  Template = TemplateName(QTN->getTemplateDecl());<br><div><br></div><div>So essentially the ASTContext is just throwing away the namespace qualifier (I'm giving it a QualifiedTemplateName as an argument). Is this a bug? Am I using the wrong api?</div><div><br></div><div>Thanks in advance,</div><div><br></div><div>Scott Constable</div></div>