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

    <tr>
        <th>Summary</th>
        <td>
            Assertion failure in clangd
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clangd,
            crash
      </td>
    </tr>

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

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

<pre>
    We're seeing an assertion failure in `clangd` in Fuchsia code. This code compiles fine, both in release and assert builds, so its a bit surprising. We found this because it was crashing for our developers.

Error :
```
clangd: /usr/local/google/home/paulkirth/llvm-fork/clang/lib/Serialization/ASTWriterDecl.cpp:1884: void clang::ASTDeclWriter::VisitTemplateTypeParmDecl(TemplateTypeParmDecl *): Assertion `(bool)TC == D->hasTypeConstraint()' failed.\n"
```
[lsp.log](https://github.com/user-attachments/files/17067983/lsp.log)


Do we have a guide on how to obtain a reproducer for clangd? is using the preceding compile command to get a preprocessed cpp file sufficient? The Fuchsia build is quite large, and I'm not sure how to provide a nice reproducer that will work w/ clangd.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJx8VEGPqzgM_jXuxRqUGmjhwKFv-pD2ttJUO-cQXPBOIGwSWr399avQztt3GD0JJThyPn-2P0eHIMPM3ED5DcrzTq9xdL4R6268yK5z_Y_mnYGOnjEwyzygnlGHwD6Km_Gqxa6eUWaEgzJWz0MPB5XsdjVjEI3G9ZzhZZSw_aJx0yKWA15lZqBX7Fwc0wXPlnVg1HP_jIDdKrYPySk4lBhQYycRw-oXL0HmIcN3xqtb5x5jitCx0WtglIh3HdB4HcZE-uo8utVjzze2bmEfMlBnUKfH-t175xHypwkH9fw285lWfkKgdg0eqLXOaAvUDs4NloHa0U1pW_RqP8THMfnY2_Rydf4DqN0g0pl0QO0be9FW_tWphkDt6e3y7iWyP7OxmVkWyE_7qipSyJuTHh_X8xPkp9PbJXk9_B9Hf0mQeOFpsTry5cfCf2o_JSeg6qtjBDoB1Qn99LOTKVuqOucsUH15RcjPkJ_x_AL591GHdP_VzSF6LXMEqhIAHTcBcJ9B-ToD0Zflg_KbDUtm3QDlGagaY1xCYk5tqqDEce0y46atuOxfdIzajBPPMQC116QVoHZ_VIdjXeWpiE80qn_t4WM9O7wzjvrGqHFYpWd0M47ujtGh66KWGTV6XrzrV8N-U8Zng1uUgGvSFcaRcfFsuE_WU7Npn5I8o8OBI-rksnhnOATu0SwLJroY1utVjPAcE-Zl5J_DsAk6RflnlchotR-2GUigfwAdJ5zdpm_-5Lx4d0tZaJzF8K_M46gj3sVavDv_gXeg9plJtuubvK_zWu-42R_pcKyVKvLd2KhcHYqyL_amLE1d5dX-qHpdVUoz9QWrnTSkqFD1vqa8LFSeXak-6IK6Sqvjoc73UCietNgsyTtzfthJCCs3e1XnZbGzumMbtueE6FlXIqDXZKZpTFZ53vlmG49uHQIUykqI4X_EKNFyc_rqlXlA7lZvm9_oKCF9TuDi3d9sIlC7Ed209OB6a-i_AAAA__9cyZ-H">