<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/92249>92249</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            `modernize-min-max-use-initializer-list` clang-tidy check crash
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-tidy
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          VitaNuo
      </td>
    </tr>
</table>

<pre>
    ## Reproducer

```
// foo.cc
#include <algorithm>

namespace foo {

struct Bar {
  unsigned getFoo();
};

unsigned Func(Bar* b) {
 return std::max(std::max(b->getFoo(), b->getFoo()), b->getFoo());
}
}  
```

## Command
```
clang-tidy -checks=-*,modernize-min-max-use-initializer-list foo.cc
```

## Stack trace

```
clang::tidy::modernize::findArgs
clang::tidy::modernize::generateReplacements
clang::tidy::modernize::MinMaxUseInitializerListCheck::check
clang::ast_matchers::internal::::MatchASTVisitor::MatchVisitor::visitMatch
clang::ast_matchers::internal::BoundNodesTreeBuilder::visitMatches
clang::ast_matchers::internal::::MatchASTVisitor::matchWithFilter
clang::ast_matchers::internal::::MatchASTVisitor::matchDispatch
clang::ast_matchers::internal::::MatchASTVisitor::match
clang::ast_matchers::internal::::MatchASTVisitor::TraverseStmt
clang::RecursiveASTVisitor::TraverseImplicitCastExpr
clang::RecursiveASTVisitor::dataTraverseNode
clang::ast_matchers::internal::::MatchASTVisitor::dataTraverseNode
clang::RecursiveASTVisitor::TraverseStmt
clang::ast_matchers::internal::::MatchASTVisitor::TraverseStmt
clang::RecursiveASTVisitor::TraverseVarHelper
clang::RecursiveASTVisitor::TraverseVarDecl
clang::RecursiveASTVisitor::TraverseDecl
clang::ast_matchers::internal::::MatchASTVisitor::TraverseDecl
clang::RecursiveASTVisitor::TraverseDeclStmt
clang::RecursiveASTVisitor::dataTraverseNode
clang::ast_matchers::internal::::MatchASTVisitor::dataTraverseNode
clang::RecursiveASTVisitor::TraverseStmt
clang::ast_matchers::internal::::MatchASTVisitor::TraverseStmt
clang::RecursiveASTVisitor::TraverseFunctionHelper
clang::RecursiveASTVisitor::TraverseCXXMethodDecl
clang::RecursiveASTVisitor::TraverseDecl
clang::ast_matchers::internal::::MatchASTVisitor::TraverseDecl
clang::RecursiveASTVisitor::TraverseDeclContextHelper
clang::RecursiveASTVisitor::TraverseNamespaceDecl
clang::RecursiveASTVisitor::TraverseDecl
clang::ast_matchers::internal::::MatchASTVisitor::TraverseDecl
clang::RecursiveASTVisitor::TraverseTranslationUnitDecl
clang::RecursiveASTVisitor::TraverseDecl
clang::ast_matchers::internal::::MatchASTVisitor::TraverseDecl
clang::RecursiveASTVisitor::TraverseAST
clang::ast_matchers::MatchFinder::matchAST
clang::clangd::ParsedAST::build
clang::clangd::::ASTWorker::generateDiagnostics
clang::clangd::::ASTWorker::updatePreamble::$_0::operator()
llvm::function_ref::operator()
clang::clangd::::ASTWorker::runTask
clang::clangd::::ASTWorker::run
clang::clangd::::ASTWorker::create::$_0::operator()
llvm::detail::UniqueFunctionBase::CallImpl
llvm::unique_function::operator()
clang::clangd::AsyncTaskRunner::runAsync::$_1::operator()
llvm::thread::GenericThreadProxy::{lambda#1}::operator()
std::__u::__invoke
std::__u::__apply_tuple_impl
std::__u::apply
llvm::thread::GenericThreadProxy
llvm::thread::ThreadProxy
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzsWF1v6jgT_jXmJqIKTvi64IKPw_seaVtVLe05d2hiD-CtY2f9UdHz61cxCdADtNCttFK1EqL2eJ7HM0-m0QxgrVgqxAFpj0h70gDvVtoMHoWDG68bmeYvA0ITQpPoDgujuWdoSDwh8bD67sTVZ7OlU0Kn0ULrK8ZqUyIUk55jRJIxyKU2wq1yknzb51GQoy2AYYmNSHe0f2id8cxFIzC7kyjyKsTOoyW6qdaE9gjtk6RGdie7dfje-k-9YoT2RmAIHUYZof09WoPOGxVZx0kyJMkwhzWhvd-2WZMk315dS8fREeNp-36Y9SKKjmtay1g-hbHOc1D8qCOToJZNJ_hL1GQrZE-WJJMmoUNCx7nmaJT4hc1cqGYO66a32BRKOAFS_ELTlMK61w_ujTDuHbCnyBlg-EY1hIA2upVRVQrWkWy2C6H40Czt-YglKjTg8A4LCQxzVO4C9LVQ17B-sPh9l_sfwrpxKdjGJWh3wAjWzXNwbIXGbixCOTQK5GZX0Zcew_vZo7DCabNnfGV5LjfBfPE9I-0Vv9Ec7cwgjryQHA9Y8VCRfxB_gP0QbjUV0tX__59IPRG2-JAW7xF_JuHMwDMai_cudwe8d8i8seIZT6G-54UUTLgxWPdtXRxqeJKBg4OapXzsn5nTu9zv5nVUjX9N5Ucw_0dZHCnRc6ATZPJy4FHUJyjw8Wgu0-6_-jo_mrJzcEKrjxbZ-OfPa3Qrzb9KqY21crh2H9Xjpu76voIeMwPKSijr40EJ9xVSGt7PzggmXDwVatuH5FUkB9iwrDrpWzAWeekVtlnZyLwJ2HyG97Mf2jzVV9XN4ETAUmnrBDvsfN4l8QUHh7cGIc9k1ScSms7jzVIX5RXaVN17oJfyOd-cLqp3wtzg4rT_JeEYr2ZgDzvQc4CXg5hBcJcmzdGBqKrvQYm__PbVOAJbkY1ByrLt-R3rg_-81u1izYb2RbFSoDuv1F7qwb7Lo3VOHm5lECre_5WlJNgsmG6NXlcDBOmOJOQZB0KTVhgrT_Fup8T53NcLoZ71E54-h6KQL3PnC4lzsVXr0DP4XRj-G94HbtvRrcEHCe8nfWjgoNVttbvdpJf2G6tBu7foJb1e1u6ytA8dniZpJ-u2FrzPETqLuCEGNKZp3G61W612nPavaJy1KU26kLZgkXIkaYw5CHlVxnSlzbIhrPU46FOa9hsSMpQ2_BJB6W6WJZSS9qRhBiWomfmlJWlcDqt2R-OEkzggnfi8MZd04mhvWA7zXsQM2FXDGzlYOVeEV1v4MWMp3MpnV0znhE6DmJs_zcLoP5E5QqchC0voNCTydwAAAP__1TNvQg">