sdkrystian wrote:

> Could you dive a little deeper why this change is necessary? E.g. does the 
> most recent redecl have some properties that the canonical declaration (which 
> would be the first one) does not?

@ilya-biryukov When instantiating a template from a member template that was 
explicitly specialized for a given implicitly instantiated specialization of 
its enclosing class template, we need to keep track of which template was 
actually used as the primary template (since we consider the specialization to 
be a redeclaration of the (instantiated) member template). Since the initial 
declaration & the specialized declaration have different template depths, this 
(may) result in `getTemplateInstantiationArgs` returning an incomplete set of 
template arguments for an entity. 

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

Reply via email to