<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/67058>67058</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Stateful failure to evaluate lambda concept constraint from conditional explicit specifier
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ecatmur
</td>
</tr>
</table>
<pre>
Clang rejects-valid:
```c++
template<class T> concept Q = requires(T t) { [](int*){}(t); };
//static_assert(not Q<int>);
struct A { template<class T> explicit(Q<T>) A(T); };
A a = 1;
```
If the static_assert is uncommented, clang accepts.
If the constraint is inlined, clang accepts-invalid:
```c++
struct A { template<class T> explicit(requires(T t) { [](int*){}(t); }) A(T); };
A a = new int;
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJykk09v2zAMxT8NfSESKFL87-BDkjbAjsV6H2iZSTTIcibR3fbtBzld2w09dBggIKAiPv30nkkpuXNg7qDcQ3lX0CyXKXZsScY5Fv00_OwOnsIZI39lK2n1RN4NYHag7kDtoFK3ZUHv81p2hcerJ2EwB-spJXwEc492Cpavgg8I5g4jf5td5AS6eUQB3SLUe7xhgG5cENA70C3Ue6jzTj4DZo-5Ms8XgT6CPiYhcfYLpcRRQDdhEnwAc8ga5v7WdjufJM5WcLfc9T4l_7h6Z13WyRqPNwXcZc53CHZIy3M2r0y_LbmVn04oF8Y_GNElnIOdxpGD8AD6gHYxmWx2KK2fld4K2CkkieTC0u2Cd-GdzpULHwno33z4r6g-4F3g77hk9beDxdCZoTUtFdxtqrY0umobU1w6tdU9cdPXW7uhoVSVblVdb1XbmLLalH3hOq20Ua3eaKXarVmbZmOqvmyMqntbtQNsFY_k_Nr7p3E9xXPhUpq5q2pVNoWnnn1ahkLrBS__CVrnGYld7ln18znBVnmXJL2qiBPP3Wch4dPs8UTOz5FRJuQn8jMJo6exH-hlHN4Ee4rTmOvBiZsC-ZcQMF3ZupPjWMzRdxeRa8oRL5__2cll7td2GkEfM8jzz-oapzyzoI8LfgJ9XJ73KwAA__9F5iu9">