================ @@ -2596,27 +2588,14 @@ class VarTemplateSpecializationDecl : public VarDecl, llvm::PointerUnion<VarTemplateDecl *, SpecializedPartialSpecialization *> SpecializedTemplate; - /// Further info for explicit template specialization/instantiation. - struct ExplicitSpecializationInfo { - /// The type-as-written. - TypeSourceInfo *TypeAsWritten = nullptr; - - /// The location of the extern keyword. - SourceLocation ExternLoc; - - /// The location of the template keyword. - SourceLocation TemplateKeywordLoc; - - ExplicitSpecializationInfo() = default; - }; - /// Further info for explicit template specialization/instantiation. /// Does not apply to implicit specializations. - ExplicitSpecializationInfo *ExplicitInfo = nullptr; + llvm::PointerUnion<const ASTTemplateArgumentListInfo *, ---------------- erichkeane wrote:
Its to give it a 'useful' descriptive name. The pointer-union is necessarily opaque as to its meaning, so a name that reflects the name is really helpful when reading the code. https://github.com/llvm/llvm-project/pull/81642 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits