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

    <tr>
        <th>Summary</th>
        <td>
            Clang compiles valid (?) program incorrectly
        </td>
    </tr>

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

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

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

<pre>
    https://godbolt.org/z/z4szqa4rT

```cpp
#include <iostream>
#include <string>
using namespace std;

namespace {

template <class T>
consteval const char* type2str() = delete;

template <>
consteval const char* type2str<int>() {
 return "int";
};

template <typename T, const char* Name>
consteval const char* fun() {
    static constexpr auto mmm = string(type2str<T>()) + " " + Name + "\x00";
    return mmm.data();
}

}  // namespace

int main() {
    static constexpr char ZZZ[]{"qwe"};

    cout << fun<int, ZZZ>();

 return 0;
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVMFy4yoQ_Bp0oeJCg2QrBx1i-_n4Tj7lhtDYZheEAiNvkq_fQlZsrZPaTZWQVMzQ090DqBjNsUOsWblm5TZTA518qKPXP5F6ZULW-PatPhH1kcknBjsGu6NvG29p4cORwe49jSK-v6gi7JnYMvE0vZfi8ui-n2ZAmk7boUXO5Mb4SAGVY_K_r8KRgumO1-AQTXfknXIYe6WRR2qZXM_r3WJs9UeA0PVW0YiqrYqR76-w2neR8KwsH_-4PqnA4InTW48QKTCoGDxyJre8RYuEd0Xn2N8HlRvTUUqf0D_48oA0hI4zgJQAcKu22v6lcgJO8vmeweau6P_K4T-ZHYbuExfOeSRFRl9y8bUPXA3kuXNuNGTqEFQzXfurqhEM1knLNNYjl49JVm5ehZhrTBUnA5xzi1aRmqDmLsx32GrL-WVP3nbGPMF0xJ0y39OWvODPz8-Xo5ByAV5-YWL4yfwEoP1Al7ZvRv8uTYXNiHF14W7dpE98IenjuGRtLdtH-agyrPMVFBJKUUJ2qvO2hSUoUIdiWWBZlm11ODRNvhJVJeUKM1ODgEJUAHmeixIWUlZ5tSxXbdtglQtghUCnjF1Ye3bp_GYmxgHrXJTLQmZWNWjjeBcAaKtScyFdC6FOCx6a4RhZIayJFG8QZMhivUnpXHvXG4uRn5U1LU8eyF2yvg_-GJTjptM-BNRk37Ih2PubxdBpaBbaOwa7VGD6PPTB_0BNDHYj4chgN3E-1_A7AAD__x7PYPI">