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