$ cat test-UnusedParametersCheck__warnOnUnusedParameter.cc namespace { struct a { void b(unsigned c) {} }; template <class> class d { a e; void f() { e.b(); } }; } // namespace $ ./clang-tidy -checks=-*,misc-unused-parameters test-UnusedParametersCheck__warnOnUnusedParameter.cc -- assertion failed at llvm/tools/clang/include/clang/AST/Expr.h:2301 in const clang::Expr *clang::CallExpr::getArg(unsigned int) const: Arg < NumArgs && "Arg access out of range!" @ 0x55cec6baa026 __assert_fail @ 0x55cec4450e33 clang::tidy::misc::UnusedParametersCheck::warnOnUnusedParameter() @ 0x55cec445109c clang::tidy::misc::UnusedParametersCheck::check() @ 0x55cec49fe56d clang::ast_matchers::internal::(anonymous namespace)::MatchASTVisitor::MatchVisitor::visitMatch() @ 0x55cec4a221f4 clang::ast_matchers::internal::BoundNodesTreeBuilder::visitMatches() @ 0x55cec49fdc04 clang::ast_matchers::internal::(anonymous namespace)::MatchASTVisitor::matchWithFilter() @ 0x55cec49c666e clang::ast_matchers::internal::(anonymous namespace)::MatchASTVisitor::TraverseDecl() @ 0x55cec4a00ce9 clang::RecursiveASTVisitor<>::TraverseCXXRecordDecl() @ 0x55cec49c7a2c clang::ast_matchers::internal::(anonymous namespace)::MatchASTVisitor::TraverseDecl() @ 0x55cec49ff509 clang::RecursiveASTVisitor<>::TraverseNamespaceDecl() @ 0x55cec49c79b4 clang::ast_matchers::internal::(anonymous namespace)::MatchASTVisitor::TraverseDecl() @ 0x55cec4a03199 clang::RecursiveASTVisitor<>::TraverseTranslationUnitDecl() @ 0x55cec49c7c60 clang::ast_matchers::internal::(anonymous namespace)::MatchASTVisitor::TraverseDecl() @ 0x55cec49c63dc clang::ast_matchers::MatchFinder::matchAST() @ 0x55cec4c134dc clang::MultiplexConsumer::HandleTranslationUnit()
Fixed in r336283.