<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/134356>134356</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
Adding _Nonnull attribute causes template deduction to fail
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang:frontend
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
ilya-biryukov
</td>
</tr>
</table>
<pre>
https://gcc.godbolt.org/z/MW94Ezd11
```cpp
template <class T> struct Base {};
template <class T> struct Derived : Base<T> {};
template <class T> void foo(Base<T> *_Nonnull);
template <class T> void bar(Base<T> *);
void test() {
Derived<int> d;
foo(&d); // fails.
bar(&d); // okay.
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMUk2PmzAQ_TXDxQoyYwhw4ECS5daeKvVYGdsQdx0c4XGk7K-vgGybdlW1kiUf5r03H-_JEOw4GdNAcYDilMhIZz831t3lrrfzPb76W9J7fW_ORNcAogXsALtRqXT0uveOUj-PgN0bYPfpa52_vOksA94ub8-3p65X4C2Zy9VJMgzEUTkZAvsC4oUFmqMidpDBMCgPUJ5AHP4JP5nZ3oxmINqVCuK4lp8V_i5y81azwXvA6jcytt8--2mKzgHW_yXSy_mjyDMZeLsCyQQCrADrdUbeMsbetwBxtBMtZL3xlto2HuBeb3JsuzwbpHUhfYC29h9B_lXeF8xyiycjEt0IXYtaJqbJylyURVHzOjk3mcqrWhqe74dCybwc9oMus5wPqq97xXliG-RY8JznvBIV1inKoqyR90VZZJmoBOTcXKR1qXO3y5KJxIYQTZOJXBT7xMneuLDGDFE5OY0g2mH2E5lJA-ISvrlZuLs-jgFy7myg8EuNLDnTtFrbaWTvLjFJNNs-kmFKxmAC--mVNjoqsn5i5NebJXF2f6bY0jn2qfIXwG7p9Ph219l_N4oAu3WJANg99rg1-CMAAP__5dzzuQ">