github-actions[bot] wrote:

<!--LLVM CODE LINT COMMENT: clang-tidy-->


:warning: C/C++ code linter, clang-tidy found issues in your code. :warning:

<details>
<summary>
You can test this locally with the following command:
</summary>

```bash

git diff -U0 origin/main...HEAD -- 
clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp 
clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.h |
python3 clang-tools-extra/clang-tidy/tool/clang-tidy-diff.py   -path build -p1 
-quiet
```

</details>

<details>
<summary>
View the output from clang-tidy here.
</summary>

```

clang-tools-extra/clang-tidy/misc/ConstCorrectnessCheck.cpp:38:11: error: 
'TypeLoc' does not refer to a value [clang-diagnostic-error]
   38 |   return !TypeLoc.getContainedAutoTypeLoc().isNull();
      |           ^
clang/include/clang/AST/TypeLoc.h:59:7: note: declared here
   59 | class TypeLoc {
      |       ^
clang/include/clang/ASTMatchers/ASTMatchers.h:4174:17: error: no matching 
function for call to 'getUnderlyingType' [clang-diagnostic-error]
 4174 |   QualType QT = internal::getUnderlyingType(Node);
      |                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~
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(
      | ^
clang/include/clang/ASTMatchers/ASTMatchersMacros.h:277:14: note: expanded from 
macro 'AST_POLYMORPHIC_MATCHER_P_OVERLOAD'
  277 |     explicit matcher_##DefineMatcher##OverloadId##Matcher(              
       \
      |              ^
note: expanded from here
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))...);
      |              ^
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))...};
      |                        ^
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...>()))
      |                ^
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()))),
      |                        ^
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(); }
      |                 ^                 ~~~~~~~~~~~~~~~~
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) {
      |                 ^                 ~~~~~~~~~~~~~~~~~~~~~
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) {
      |                 ^                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~
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) {
      |                 ^                 ~~~~~~~~~~~~~~~~~~~~~~
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) {
      |                 ^                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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) {
      |                 ^                 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
clang/include/clang/ASTMatchers/ASTMatchers.h:4218:28: error: no matching 
function for call to 'GetTypeSourceInfo' [clang-diagnostic-error]
 4218 |   TypeSourceInfo *source = internal::GetTypeSourceInfo(Node);
      |                            ^~~~~~~~~~~~~~~~~~~~~~~~~~~
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(
      | ^
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,   \
      |   ^
clang/include/clang/ASTMatchers/ASTMatchersMacros.h:277:14: note: expanded from 
macro 'AST_POLYMORPHIC_MATCHER_P_OVERLOAD'
  277 |     explicit matcher_##DefineMatcher##OverloadId##Matcher(              
       \
      |              ^
note: expanded from here
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))...);
      |              ^
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))...};
      |                        ^
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...>()))
      |                ^
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())));
      |                              ^
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) {
      |                        ^                 ~~~~~~~~~~~~~~~~~~~~~
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) {
      |                        ^                 ~~~~~~~~~~~~~~~~~~~~~~
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) {
      |                        ^
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) {
      |                        ^
clang/include/clang/ASTMatchers/ASTMatchersInternal.h:128:26: error: no viable 
conversion from 'const Matcher<clang::QualType>' to 'const 
Matcher<clang::VarDecl>' [clang-diagnostic-error]
  128 |     return Execute(Arg1, static_cast<const ArgT &>(Args)...);
      |                          ^                         ~~~~
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(
      |                                    ^
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 {
      |       ^~~~~~~
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 {
      |       ^~~~~~~
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,
      |   ^
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,
      |   ^
clang/include/clang/ASTMatchers/ASTMatchersInternal.h:571:12: note: explicit 
constructor is not a candidate
  571 |   explicit Matcher(MatcherInterface<T> *Implementation)
      |            ^
clang/include/clang/ASTMatchers/ASTMatchersInternal.h:666:12: note: explicit 
constructor is not a candidate
  666 |   explicit Matcher(const DynTypedMatcher &Implementation)
      |            ^
clang/include/clang/ASTMatchers/ASTMatchersInternal.h:624:3: note: candidate 
function
  624 |   operator DynTypedMatcher() const & { return Implementation; }
      |   ^
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); }
      |   ^
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 [clang-diagnostic-error]
 1561 |     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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))...};
      |                        ^
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...>()))
      |                ^
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())));
      |                              ^
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 [clang-diagnostic-error]
 1561 |     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
      |                   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
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))...};
      |                        ^
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...>()))
      |                ^
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()))),
      |                        ^
```

</details>


https://github.com/llvm/llvm-project/pull/157319
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to