[clang] [Clang][Sema] qualifier should be transformed (PR #94725)
Matheus Izvekov via cfe-commits
cfe-commits at lists.llvm.org
Sat Jun 22 21:18:40 PDT 2024
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
More information about the cfe-commits
mailing list