<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/83568>83568</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Clang-tidy modernize-use-using on function pointers removes the argument names
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang-tidy
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          JVApen
      </td>
    </tr>
</table>

<pre>
    `typedef int(*name)(int arg1, int arg2);` is a valid definition of a function pointer where not only the types are given, though they also got names. The clang-tidy check modernize-use-using wants to convert this into `using name = int (*)(int, int);`, the expectation is that this gets converted to `using name = int (*)(int arg1, int arg2);`

Link on compiler-explorer: https://compiler-explorer.com/z/Gan7Y77zq
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMkk9v2zAMxT8NfSESyJL_HnxIW2TAsOMwYEfZZmytsuRJdNr00w92sgZDN2AH_4NoPv74no7RDI6ogfwB8qdELzz60Hz-dpjJJa3vLw0Ugi8z9XRC4xhkBfLg9EQga5CVcYw6DCnIR7y9y_VEPUAh0ETUeNbW9NjTyTjDxjv0J9R4Wly3fc3eOKaALyMFQucZvbMX5JFw1Y2oA-FgzuRWDR79Mozr6QW1jR4Hz7iOE_f4dSTsrHbDjk1_wW6k7hkn31Nw5o12S1wv4wZ80Y4jssfOuzMFRh5NXMf3CIW41qw9EdTTRnWlfie-wb5zXgcjpNeZOtYblonIo761HojjbzHq8X91_r1ZEE8gDtf7F-Oe0Tvs_DQbS2FHr7P1gQKoA47McwR1AHkEefxQsu_8BPL4BvL4Sbvye1m-_Uz6RvW1qnVCTVqKWtaVyrJkbIouLXqRK9mVqarVSbRFRqrPTzqvUtkWiWmkkJlQIk2VyFW-L8qsEq0q6zYXSmUEmaBJG7u39jztfRgSE-NCTaXyokqsbsnGLYpS3o0EKddohmb9adcuQ4RMWBM53tuwYUvN4938v9nu3YfURQw0-TPFzT8dhmUidwtUsgTb_Lm_wfC4tLelreK3x24O_gd1DPK4AUWQx43pVwAAAP__uo4Z0w">