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

    <tr>
        <th>Summary</th>
        <td>
            [c++20] Clang crashes on template argument deduction example
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

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

<pre>
    Clang crashes on the following code:

```
template<long unsigned int>
struct str {
 constexpr str(...) {}
};
template<long unsigned int N> str(const char (&)[N]) -> str<N>;

template <str fs> void foo() {}
int main() {
 foo<"test">();
}
```

Example works fine in GCC and MSVC, see [godbolt](https://gcc.godbolt.org/z/rqnc9KxcY)
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyEks9v3CoQx_-a8QXF8g7rXwcf3nrjd3h6uVSq1COGsU2KYQs4SfvXV3g3SdMeKllYMF--n5lhRAh6tkQdlCcoz5nY4uJ890g2rCKEkfycjU5973oj7MykF2GhwJxlcSE2OWPcs04Bpwj4P1CcoXhdq-L27dtI68WISMB74-zMNruTFdM2Ar-_ikL0m4wsRM-gPl3PmHQ2RHq5-HQO2OR5Dtjugvp8Y9Vn4Ke_g9gD8PubzW7L5CI8A2wAK8AWytMDlOdkf_eq5H269Gb_EcKA9ynbKST5k9OKTc7tfh8zTPBVaPtL6FpdkvMeECOFCIiJtWveiW9Vfuzodb1_EevFEHt2_mtgk7bEtGX_9j0TVrH_P33uAXsWiBiUp9mp0Zm4l9gsMV5CejQcAIdZyvwWzp2fAYcfgIP_ZmX734v8AthmquOq5a3IqDtUzZEfKmzLbOnqiojX42FSY6GURJqOx2acaGoqcawbmekOC-RFeaiLljeHMldF0YoDTZKQY8VHOBa0Cm1yY57WhM90CBt1FdZVnRkxkgn7iCJaemZ7MPWqPGe-S3fuxm0OcCyMDjG8u0QdzT7bEvAEeMICyjP7c5ZfX1P4eVvJRqZIbTJqZxld-5tt3nS_dUzHZRtz6VbAISFvv7uLd48kI-CwJxoAh72QnwEAAP__vTQHDA">