<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/61748>61748</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Constrained non-template function declarations in function template bodies aren't diagnosed
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:frontend
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
cjdb
</td>
</tr>
</table>
<pre>
This partial GCC test compiles in Clang when it shouldn't.
```cpp
template <typename T> concept C = true;
template<typename T>
void F ()
{
void bad () requires C<T>; // expected-error{{non-templated function cannot have a requires clause}}
}
```
Note that this modification **does** produce the expected diagnostic.
```cpp
template <typename T> concept C = true;
void F ()
{
void bad () requires C<int>; // expected-error{{non-templated function cannot have a requires clause}}
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzEU02PmzAQ_TXDZZTIsRMIBw4JaXrraf-AsYfglbGpPWy7_76CZHfbvVZVJUt8vHmPmcc8nbO7BaIGDmc4XAo98xBTY55tV3TRvjZPg8s46cROe_zatsiUGU0cJ-cpowvYeh1u-GOggI4xD3H2NoCseAviAuIEpbgfM033N0zj5DUTgmr5daKgR8InUF_QxGBoYmwR1AU5zQTq_JD5g_qZeUdforN4RZBHkPWDVj34iCvaafvAMdH32SXK2IJqVxF1RpBXkFeknxMZJruhlGJaRKpziGHz9n2L_RwMuxjQ6BAi46BfCPWHqPF6zgTVZTmPVi6fHLk_fotMyINm5MXsMVrXO6NXcZAnkCcbKd_vcErRzmapp_cm0Tp9CzGzM__C879w1QX-H74WtlG2VrUuqNmVVV2XB7FXxdCIqtzXfSUPvTayVmpXdlV3tELuRaWtlYVrpJBKKHkU4lBJtRVi1x37XX3Q-15KUcJe0Kid33r_Mm5juhUu55maclftj4XXHfm8hklKswQD1KlPMTAFC1IuEUvNQt108y3DXniXOX-IsWNPTRtD5qRdIIu_u_NhjiXjdVp3ZA3hO_Be2kXrKKNOtIbxbUfIFnPyzcA8ZVCn-2-5OR7mbmviCPK69PK4bKYUn8kwyOs6ZQZ5XQf9FQAA__-6nk8D">