[clang-tools-extra] [clang-tidy] make `misc-const-correctness` work with `auto` variables and lambdas (PR #157319)

via cfe-commits cfe-commits at lists.llvm.org
Sat Dec 20 11:05:40 PST 2025


github-actions[bot] wrote:

<!--PREMERGE ADVISOR COMMENT: Linux-->
# :penguin: Linux x64 Test Results

The build failed before running any tests. Click on a failure below to see the details.

<details>
<summary>tools/clang/tools/extra/clang-tidy/misc/CMakeFiles/obj.clangTidyMiscModule.dir/ConstCorrectnessCheck.cpp.o</summary>

```
FAILED: tools/clang/tools/extra/clang-tidy/misc/CMakeFiles/obj.clangTidyMiscModule.dir/ConstCorrectnessCheck.cpp.o
sccache /opt/llvm/bin/clang++ -DGTEST_HAS_RTTI=0 -D_DEBUG -D_GLIBCXX_ASSERTIONS -D_GLIBCXX_USE_CXX11_ABI=1 -D_GNU_SOURCE -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/clang-tidy/misc -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/../../include-cleaner/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/tools/extra/clang-tidy -I/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/tools/clang/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/build/include -I/home/gha/actions-runner/_work/llvm-project/llvm-project/llvm/include -gmlt -fPIC -fno-semantic-interposition -fvisibility-inlines-hidden -Werror -Werror=date-time -Werror=unguarded-availability-new -Wall -Wextra -Wno-unused-parameter -Wwrite-strings -Wcast-qual -Wmissing-field-initializers -pedantic -Wno-long-long -Wc++98-compat-extra-semi -Wimplicit-fallthrough -Wcovered-switch-default -Wno-noexcept-type -Wnon-virtual-dtor -Wdelete-non-virtual-dtor -Wsuggest-override -Wstring-conversion -Wno-pass-failed -Wmisleading-indentation -Wctad-maybe-unsupported -fdiagnostics-color -ffunction-sections -fdata-sections -fno-common -Woverloaded-virtual -Wno-nested-anon-types -O3 -DNDEBUG -std=c++17  -fno-exceptions -funwind-tables -fno-rtti -UNDEBUG -MD -MT tools/clang/tools/extra/clang-tidy/misc/CMakeFiles/obj.clangTidyMiscModule.dir/ConstCorrectnessCheck.cpp.o -MF tools/clang/tools/extra/clang-tidy/misc/CMakeFiles/obj.clangTidyMiscModule.dir/ConstCorrectnessCheck.cpp.o.d -o tools/clang/tools/extra/clang-tidy/misc/CMakeFiles/obj.clangTidyMiscModule.dir/ConstCorrectnessCheck.cpp.o -c /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp:9:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h:12:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/../ClangTidyCheck.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchFinder.h:43:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchers.h:73:
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1561:19: error: static assertion failed due to requirement 'TypeListContainsSuperOf<clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::ValueDecl, clang::CXXBaseSpecifier, clang::ObjCInterfaceDecl>, clang::QualType>::value': right polymorphic conversion
1561 |     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
|                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1363:24: note: in instantiation of function template specialization 'clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType1Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::ValueDecl, clang::CXXBaseSpecifier, clang::ObjCInterfaceDecl>), clang::ast_matchers::internal::Matcher<clang::Decl>>::operator Matcher<clang::QualType>' requested here
1363 |     return {Matcher<T>(std::get<Is>(Params))...};
|                        ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1355:16: note: in instantiation of function template specialization 'clang::ast_matchers::internal::VariadicOperatorMatcher<clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType1Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::ValueDecl, clang::CXXBaseSpecifier, clang::ObjCInterfaceDecl>), clang::ast_matchers::internal::Matcher<clang::Decl>>>::getMatchers<clang::QualType, 0UL>' requested here
1355 |                getMatchers<T>(std::index_sequence_for<Ps...>()))
|                ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp:127:24: note: in instantiation of function template specialization 'clang::ast_matchers::internal::VariadicOperatorMatcher<clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType1Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::ValueDecl, clang::CXXBaseSpecifier, clang::ObjCInterfaceDecl>), clang::ast_matchers::internal::Matcher<clang::Decl>>>::operator Matcher<clang::QualType>' requested here
127 |                      : unless(hasType(cxxRecordDecl(isLambda()))),
|                        ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp:9:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h:12:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/../ClangTidyCheck.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchFinder.h:43:
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchers.h:4174:17: error: no matching function for call to 'getUnderlyingType'
4174 |   QualType QT = internal::getUnderlyingType(Node);
|                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchers.h:4169:1: note: in instantiation of member function 'clang::ast_matchers::internal::matcher_hasType1Matcher<clang::QualType, clang::ast_matchers::internal::Matcher<clang::Decl>>::matches' requested here
4169 | AST_POLYMORPHIC_MATCHER_P_OVERLOAD(
| ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersMacros.h:277:14: note: expanded from macro 'AST_POLYMORPHIC_MATCHER_P_OVERLOAD'
277 |     explicit matcher_##DefineMatcher##OverloadId##Matcher(                     \
|              ^
<scratch space>:56:1: note: expanded from here
56 | matcher_hasType1Matcher
| ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1189:14: note: in instantiation of member function 'clang::ast_matchers::internal::matcher_hasType1Matcher<clang::QualType, clang::ast_matchers::internal::Matcher<clang::Decl>>::matcher_hasType1Matcher' requested here
1189 |   return new T(std::get<I>(std::forward<Tuple>(t))...);
|              ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1363:24: note: in instantiation of function template specialization 'clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType1Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::ValueDecl, clang::CXXBaseSpecifier, clang::ObjCInterfaceDecl>), clang::ast_matchers::internal::Matcher<clang::Decl>>::operator Matcher<clang::QualType>' requested here
1363 |     return {Matcher<T>(std::get<Is>(Params))...};
|                        ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1355:16: note: in instantiation of function template specialization 'clang::ast_matchers::internal::VariadicOperatorMatcher<clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType1Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::ValueDecl, clang::CXXBaseSpecifier, clang::ObjCInterfaceDecl>), clang::ast_matchers::internal::Matcher<clang::Decl>>>::getMatchers<clang::QualType, 0UL>' requested here
1355 |                getMatchers<T>(std::index_sequence_for<Ps...>()))
|                ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp:127:24: note: in instantiation of function template specialization 'clang::ast_matchers::internal::VariadicOperatorMatcher<clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType1Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::ValueDecl, clang::CXXBaseSpecifier, clang::ObjCInterfaceDecl>), clang::ast_matchers::internal::Matcher<clang::Decl>>>::operator Matcher<clang::QualType>' requested here
127 |                      : unless(hasType(cxxRecordDecl(isLambda()))),
|                        ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:148:17: note: candidate function not viable: no known conversion from 'const clang::QualType' to 'const Expr' for 1st argument
148 | inline QualType getUnderlyingType(const Expr &Node) { return Node.getType(); }
|                 ^                 ~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:150:17: note: candidate function not viable: no known conversion from 'const clang::QualType' to 'const ValueDecl' for 1st argument
150 | inline QualType getUnderlyingType(const ValueDecl &Node) {
|                 ^                 ~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:153:17: note: candidate function not viable: no known conversion from 'const clang::QualType' to 'const TypedefNameDecl' for 1st argument
153 | inline QualType getUnderlyingType(const TypedefNameDecl &Node) {
|                 ^                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:156:17: note: candidate function not viable: no known conversion from 'const clang::QualType' to 'const FriendDecl' for 1st argument
156 | inline QualType getUnderlyingType(const FriendDecl &Node) {
|                 ^                 ~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:161:17: note: candidate function not viable: no known conversion from 'const clang::QualType' to 'const CXXBaseSpecifier' for 1st argument
161 | inline QualType getUnderlyingType(const CXXBaseSpecifier &Node) {
|                 ^                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:164:17: note: candidate function not viable: no known conversion from 'const clang::QualType' to 'const ObjCInterfaceDecl' for 1st argument
164 | inline QualType getUnderlyingType(const ObjCInterfaceDecl &Node) {
|                 ^                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1561:19: error: static assertion failed due to requirement 'TypeListContainsSuperOf<clang::ast_matchers::internal::TypeList<clang::BlockDecl, clang::CXXBaseSpecifier, clang::CXXCtorInitializer, clang::CXXFunctionalCastExpr, clang::CXXNewExpr, clang::CXXTemporaryObjectExpr, clang::CXXUnresolvedConstructExpr, clang::CompoundLiteralExpr, clang::DeclaratorDecl, clang::ExplicitCastExpr, clang::ObjCPropertyDecl, clang::TemplateArgumentLoc, clang::TypedefNameDecl>, clang::TypeLoc>::value': right polymorphic conversion
1561 |     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
|                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1363:24: note: in instantiation of function template specialization 'clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasTypeLoc0Matcher, void (clang::ast_matchers::internal::TypeList<clang::BlockDecl, clang::CXXBaseSpecifier, clang::CXXCtorInitializer, clang::CXXFunctionalCastExpr, clang::CXXNewExpr, clang::CXXTemporaryObjectExpr, clang::CXXUnresolvedConstructExpr, clang::CompoundLiteralExpr, clang::DeclaratorDecl, clang::ExplicitCastExpr, clang::ObjCPropertyDecl, clang::TemplateArgumentLoc, clang::TypedefNameDecl>), clang::ast_matchers::internal::Matcher<clang::TypeLoc>>::operator Matcher<clang::TypeLoc>' requested here
1363 |     return {Matcher<T>(std::get<Is>(Params))...};
|                        ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1355:16: note: in instantiation of function template specialization 'clang::ast_matchers::internal::VariadicOperatorMatcher<clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasTypeLoc0Matcher, void (clang::ast_matchers::internal::TypeList<clang::BlockDecl, clang::CXXBaseSpecifier, clang::CXXCtorInitializer, clang::CXXFunctionalCastExpr, clang::CXXNewExpr, clang::CXXTemporaryObjectExpr, clang::CXXUnresolvedConstructExpr, clang::CompoundLiteralExpr, clang::DeclaratorDecl, clang::ExplicitCastExpr, clang::ObjCPropertyDecl, clang::TemplateArgumentLoc, clang::TypedefNameDecl>), clang::ast_matchers::internal::Matcher<clang::TypeLoc>>>::getMatchers<clang::TypeLoc, 0UL>' requested here
1355 |                getMatchers<T>(std::index_sequence_for<Ps...>()))
|                ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp:129:30: note: in instantiation of function template specialization 'clang::ast_matchers::internal::VariadicOperatorMatcher<clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasTypeLoc0Matcher, void (clang::ast_matchers::internal::TypeList<clang::BlockDecl, clang::CXXBaseSpecifier, clang::CXXCtorInitializer, clang::CXXFunctionalCastExpr, clang::CXXNewExpr, clang::CXXTemporaryObjectExpr, clang::CXXUnresolvedConstructExpr, clang::CompoundLiteralExpr, clang::DeclaratorDecl, clang::ExplicitCastExpr, clang::ObjCPropertyDecl, clang::TemplateArgumentLoc, clang::TypedefNameDecl>), clang::ast_matchers::internal::Matcher<clang::TypeLoc>>>::operator Matcher<clang::TypeLoc>' requested here
129 |                            : unless(hasTypeLoc(hasContainedAutoType())));
|                              ^
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp:9:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h:12:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/../ClangTidyCheck.h:14:
In file included from /home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchFinder.h:43:
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchers.h:4218:28: error: no matching function for call to 'GetTypeSourceInfo'
4218 |   TypeSourceInfo *source = internal::GetTypeSourceInfo(Node);
|                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchers.h:4210:1: note: in instantiation of member function 'clang::ast_matchers::internal::matcher_hasTypeLoc0Matcher<clang::TypeLoc, clang::ast_matchers::internal::Matcher<clang::TypeLoc>>::matches' requested here
4210 | AST_POLYMORPHIC_MATCHER_P(
| ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersMacros.h:267:3: note: expanded from macro 'AST_POLYMORPHIC_MATCHER_P'
267 |   AST_POLYMORPHIC_MATCHER_P_OVERLOAD(DefineMatcher, ReturnTypesF, ParamType,   \
|   ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersMacros.h:277:14: note: expanded from macro 'AST_POLYMORPHIC_MATCHER_P_OVERLOAD'
277 |     explicit matcher_##DefineMatcher##OverloadId##Matcher(                     \
|              ^
<scratch space>:78:1: note: expanded from here
78 | matcher_hasTypeLoc0Matcher
| ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1189:14: note: in instantiation of member function 'clang::ast_matchers::internal::matcher_hasTypeLoc0Matcher<clang::TypeLoc, clang::ast_matchers::internal::Matcher<clang::TypeLoc>>::matcher_hasTypeLoc0Matcher' requested here
1189 |   return new T(std::get<I>(std::forward<Tuple>(t))...);
|              ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1363:24: note: in instantiation of function template specialization 'clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasTypeLoc0Matcher, void (clang::ast_matchers::internal::TypeList<clang::BlockDecl, clang::CXXBaseSpecifier, clang::CXXCtorInitializer, clang::CXXFunctionalCastExpr, clang::CXXNewExpr, clang::CXXTemporaryObjectExpr, clang::CXXUnresolvedConstructExpr, clang::CompoundLiteralExpr, clang::DeclaratorDecl, clang::ExplicitCastExpr, clang::ObjCPropertyDecl, clang::TemplateArgumentLoc, clang::TypedefNameDecl>), clang::ast_matchers::internal::Matcher<clang::TypeLoc>>::operator Matcher<clang::TypeLoc>' requested here
1363 |     return {Matcher<T>(std::get<Is>(Params))...};
|                        ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:1355:16: note: in instantiation of function template specialization 'clang::ast_matchers::internal::VariadicOperatorMatcher<clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasTypeLoc0Matcher, void (clang::ast_matchers::internal::TypeList<clang::BlockDecl, clang::CXXBaseSpecifier, clang::CXXCtorInitializer, clang::CXXFunctionalCastExpr, clang::CXXNewExpr, clang::CXXTemporaryObjectExpr, clang::CXXUnresolvedConstructExpr, clang::CompoundLiteralExpr, clang::DeclaratorDecl, clang::ExplicitCastExpr, clang::ObjCPropertyDecl, clang::TemplateArgumentLoc, clang::TypedefNameDecl>), clang::ast_matchers::internal::Matcher<clang::TypeLoc>>>::getMatchers<clang::TypeLoc, 0UL>' requested here
1355 |                getMatchers<T>(std::index_sequence_for<Ps...>()))
|                ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp:129:30: note: in instantiation of function template specialization 'clang::ast_matchers::internal::VariadicOperatorMatcher<clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasTypeLoc0Matcher, void (clang::ast_matchers::internal::TypeList<clang::BlockDecl, clang::CXXBaseSpecifier, clang::CXXCtorInitializer, clang::CXXFunctionalCastExpr, clang::CXXNewExpr, clang::CXXTemporaryObjectExpr, clang::CXXUnresolvedConstructExpr, clang::CompoundLiteralExpr, clang::DeclaratorDecl, clang::ExplicitCastExpr, clang::ObjCPropertyDecl, clang::TemplateArgumentLoc, clang::TypedefNameDecl>), clang::ast_matchers::internal::Matcher<clang::TypeLoc>>>::operator Matcher<clang::TypeLoc>' requested here
129 |                            : unless(hasTypeLoc(hasContainedAutoType())));
|                              ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:186:24: note: candidate function not viable: no known conversion from 'const clang::TypeLoc' to 'const BlockDecl' for 1st argument
186 | inline TypeSourceInfo *GetTypeSourceInfo(const BlockDecl &Node) {
|                        ^                 ~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:189:24: note: candidate function not viable: no known conversion from 'const clang::TypeLoc' to 'const CXXNewExpr' for 1st argument
189 | inline TypeSourceInfo *GetTypeSourceInfo(const CXXNewExpr &Node) {
|                        ^                 ~~~~~~~~~~~~~~~~~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:176:24: note: candidate template ignored: requirement 'TypeListContainsSuperOf<clang::ast_matchers::internal::TypeList<clang::CXXBaseSpecifier, clang::CXXCtorInitializer, clang::CXXTemporaryObjectExpr, clang::CXXUnresolvedConstructExpr, clang::CompoundLiteralExpr, clang::DeclaratorDecl, clang::ObjCPropertyDecl, clang::TemplateArgumentLoc, clang::TypedefNameDecl>, clang::TypeLoc>::value' was not satisfied [with T = clang::TypeLoc]
176 | inline TypeSourceInfo *GetTypeSourceInfo(const T &Node) {
|                        ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:183:24: note: candidate template ignored: requirement 'TypeListContainsSuperOf<clang::ast_matchers::internal::TypeList<clang::CXXFunctionalCastExpr, clang::ExplicitCastExpr>, clang::TypeLoc>::value' was not satisfied [with T = clang::TypeLoc]
183 | inline TypeSourceInfo *GetTypeSourceInfo(const T &Node) {
|                        ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:128:26: error: no viable conversion from 'const Matcher<clang::QualType>' to 'const Matcher<clang::VarDecl>'
128 |     return Execute(Arg1, static_cast<const ArgT &>(Args)...);
|                          ^                         ~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp:121:36: note: in instantiation of function template specialization 'clang::ast_matchers::internal::VariadicFunction<clang::ast_matchers::internal::BindableMatcher<clang::Decl>, clang::ast_matchers::internal::Matcher<clang::VarDecl>, &clang::ast_matchers::internal::makeDynCastAllOfComposite>::operator()<clang::ast_matchers::internal::Matcher<clang::VarDecl>, clang::ast_matchers::internal::VariadicOperatorMatcher<clang::ast_matchers::internal::VariadicOperatorMatcher<const clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType0Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::TypedefNameDecl, clang::ValueDecl, clang::CXXBaseSpecifier>), clang::ast_matchers::internal::Matcher<clang::QualType>> &, const clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType0Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::TypedefNameDecl, clang::ValueDecl, clang::CXXBaseSpecifier>), clang::ast_matchers::internal::Matcher<clang::QualType>> &, const clang::ast_matchers::internal::VariadicOperatorMatcher<clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType0Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::TypedefNameDecl, clang::ValueDecl, clang::CXXBaseSpecifier>), clang::ast_matchers::internal::Matcher<clang::QualType>>, clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType0Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::TypedefNameDecl, clang::ValueDecl, clang::CXXBaseSpecifier>), clang::ast_matchers::internal::Matcher<clang::QualType>>, clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType0Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::TypedefNameDecl, clang::ValueDecl, clang::CXXBaseSpecifier>), clang::ast_matchers::internal::Matcher<clang::QualType>>, clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType0Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::TypedefNameDecl, clang::ValueDecl, clang::CXXBaseSpecifier>), clang::ast_matchers::internal::Matcher<clang::QualType>>, clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType0Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::TypedefNameDecl, clang::ValueDecl, clang::CXXBaseSpecifier>), clang::ast_matchers::internal::Matcher<clang::QualType>>> &, clang::ast_matchers::internal::Matcher<clang::VarDecl>, const clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType0Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::TypedefNameDecl, clang::ValueDecl, clang::CXXBaseSpecifier>), clang::ast_matchers::internal::Matcher<clang::QualType>> &, const clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType0Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::TypedefNameDecl, clang::ValueDecl, clang::CXXBaseSpecifier>), clang::ast_matchers::internal::Matcher<clang::QualType>> &, clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_isImplicitMatcher, void (clang::ast_matchers::internal::TypeList<clang::Decl, clang::Attr, clang::LambdaCapture>)>, const clang::ast_matchers::internal::PolymorphicMatcher<clang::ast_matchers::internal::matcher_hasType0Matcher, void (clang::ast_matchers::internal::TypeList<clang::Expr, clang::FriendDecl, clang::TypedefNameDecl, clang::ValueDecl, clang::CXXBaseSpecifier>), clang::ast_matchers::internal::Matcher<clang::QualType>> &>>, clang::ast_matchers::internal::Matcher<clang::QualType>, clang::ast_matchers::internal::Matcher<clang::TypeLoc>>' requested here
121 |   const auto LocalValDecl = varDecl(
|                                    ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:568:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from 'const clang::ast_matchers::internal::Matcher<clang::QualType>' to 'const Matcher<clang::VarDecl> &' for 1st argument
568 | class Matcher {
|       ^~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:568:7: note: candidate constructor (the implicit move constructor) not viable: no known conversion from 'const clang::ast_matchers::internal::Matcher<clang::QualType>' to 'Matcher<clang::VarDecl> &&' for 1st argument
568 | class Matcher {
|       ^~~~~~~
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:578:3: note: candidate template ignored: requirement 'std::is_base_of<clang::QualType, clang::VarDecl>::value' was not satisfied [with From = clang::QualType]
578 |   Matcher(const Matcher<From> &Other,
|   ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:590:3: note: candidate template ignored: requirement 'std::is_same<clang::VarDecl, clang::QualType>::value' was not satisfied [with TypeT = clang::QualType]
590 |   Matcher(const Matcher<TypeT> &Other,
|   ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:571:12: note: explicit constructor is not a candidate
571 |   explicit Matcher(MatcherInterface<T> *Implementation)
|            ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:666:12: note: explicit constructor is not a candidate
666 |   explicit Matcher(const DynTypedMatcher &Implementation)
|            ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:624:3: note: candidate function
624 |   operator DynTypedMatcher() const & { return Implementation; }
|   ^
/home/gha/actions-runner/_work/llvm-project/llvm-project/clang/include/clang/ASTMatchers/ASTMatchersInternal.h:626:3: note: candidate function not viable: 'this' argument has type 'const clang::ast_matchers::internal::Matcher<clang::QualType>', but method is not marked const
626 |   operator DynTypedMatcher() && { return std::move(Implementation); }
|   ^
5 errors generated.
```
</details>

If these failures are unrelated to your changes (for example tests are broken or flaky at HEAD), please open an issue at https://github.com/llvm/llvm-project/issues and add the `infrastructure` label.

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


More information about the cfe-commits mailing list