mizvekov wrote:

> I mean we can transform `QualifiedTemplateName` to `DependentTemplateName` 
> and this is what this patch does.

But that goes against the natural flow of template instantiation. We can't go 
back from non-dependent into dependent.
We can't transform a regular TemplateName back into a DependentTemplateName, 
just as we can't go back to DependentTemplateSpecializationType from a 
TemplateSpecializationType.

That's why I find this so confusing...

> If we build a `DependentTemplateName` instead of `QualifiedTemplateName` 
> earlier would affect the code in partial specialization like:
> 
> ```c++
> template<typename T>
> struct A<T*>::B<T*>
> ```

Can you elaborate on that? That still seems like the right path to me, you 
probably found another problem, that happens some times.

https://github.com/llvm/llvm-project/pull/94725
_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to