<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">