hvdijk wrote: ping @sdkrystian
FWIW, `getTemplateArgsAsWritten()` is implemented as ```c++ /// Retrieve the template argument list as written in the sources, /// if any. const ASTTemplateArgumentListInfo *getTemplateArgsAsWritten() const { if (auto *Info = ExplicitInfo.dyn_cast<ExplicitInstantiationInfo *>()) return Info->TemplateArgsAsWritten; return cast<const ASTTemplateArgumentListInfo *>(ExplicitInfo); } ``` and `ExplicitInfo` is defined as ``` /// Further info for explicit template specialization/instantiation. /// Does not apply to implicit specializations. SpecializationOrInstantiationInfo ExplicitInfo = nullptr; ``` which does not say that this is guaranteed to be `nullptr` for implicit specializations, and suggests to me that for implicit instantiations, ignoring it like I do in this PR is the right thing to do. However, maybe instead it would be better so that implicit specializations never have any `ExplicitInfo`? https://github.com/llvm/llvm-project/pull/110899 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits