The original discussion starts at this issue: https://github.com/clangd/clangd/issues/1132
where clangd's semantic highlighting is missing for symbols of a template specialization definition. It turns out the visitor didn't traverse the base classes of Class/Var##TemplateSpecializationDecl, i.e. CXXRecordDecl/VarDecl. This patch adds them back as what is done in DEF_TRAVERSE_TMPL_PART_SPEC_DECL.
I'm not sure who should be included as reviewers. Please edit as needed.