<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61586>61586</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang++: out-of-line definition of member function of explicitly specialized template class specialized using a constraint is rejected
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ednolan
</td>
</tr>
</table>
<pre>
Example code:
```
#include <concepts>
template <typename T>
struct foo {
void bar();
};
template <std::integral T>
struct foo<T> {
void bar();
};
template <std::integral T>
void foo<T>::bar() {}
```
Compiler explorer link: https://godbolt.org/z/r6e6cj9Px
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0Uk1yozwQPU2zUdkFLVvAgoVjh_W3-C4gpAYrIyRKEhk7p58CO3ZmJtup6mpQ_7zXemoZoxkcUQP7F9ifMjmnsw8NaeetdFnn9bV5vchxssSU1wT8APkJ8k8v8rvdjsiNU3bWxIAflXeKphSBv37tSTROVqa1JF0ncnIk9v-jKKYwq8R67xmUL7cYY-_eaNbJAFgB1sDvCShPz_-_0GPSy7z8YFyiIUj7LQ3w4xL-yvYP-FbAJ9ut7kGwkpen70Vd_dGPk7EUGF0m6wMFZo37AfzAzilNccHDFrAdvO68TVsfBsD2A7ANgoR6q_-7ZLrhuua1zKgpRFnvip3AOjs3peJCCN7XUhWSqp6wwIp3ZVHVldgjz0yDOfKcY1GInO_qLUeeY12KPfVFIUQNu5xGaezW2vdx4c5MjDM1othXIrOyIxvXFUN09JOtSUBcNi40S8-mm4cIu9yamOITJZlkqVFWugHwZTF-YH5OG99vrHHENPXGmWS8Y75nI40dBdbPTn2GFrmMMsleWZxIGWnNB2n2eDZlZYy_peZo3MAkU97FFKRxiZnIAr2RSqSzOdjmD8lNOs_dVvkRsF1Gv382U_BLE2C7XjgCtqsgvwIAAP__cQgKqQ">