[clang-tools-extra] [clang-tidy] Fix false positive from `readability-redundant-typename` on partially specialized variables (PR #175473)

Yanzuo Liu via cfe-commits cfe-commits at lists.llvm.org
Tue Jan 13 07:42:44 PST 2026


================
@@ -25,22 +25,25 @@ void RedundantTypenameCheck::registerMatchers(MatchFinder *Finder) {
   if (!getLangOpts().CPlusPlus20)
     return;
 
-  const auto InImplicitTypenameContext = anyOf(
-      hasParent(decl(anyOf(
-          typedefNameDecl(), templateTypeParmDecl(), nonTypeTemplateParmDecl(),
-          friendDecl(), fieldDecl(),
-          varDecl(hasDeclContext(anyOf(namespaceDecl(), translationUnitDecl())),
-                  unless(parmVarDecl())),
----------------
zwuis wrote:

https://github.com/llvm/llvm-project/blob/c88cbaf2b204795c04596ee3071ce3484f0e610a/clang/lib/AST/ParentMapContext.cpp#L360

It seems that this ASTVisitor generates parent mapping. `TemplateArgumentLoc` is not handled, so this layer in parent mapping disappears.

https://github.com/llvm/llvm-project/pull/175473


More information about the cfe-commits mailing list