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

    <tr>
        <th>Summary</th>
        <td>
            clang-tidy: modernize-use-using replaces typedef names by the aliased type
        </td>
    </tr>

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

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

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

<pre>
    clang-tidy check modernize-use-using (LLVM 18.1.2) replaces the typedef name (PointType) by the aliased type (double*)

The code fragment
```
typedef double PointType[3];
typedef bool (*Function)(PointType, PointType);
```
is refactored to 
```
typedef double PointType[3];
using Function = bool (*)(double *, double *);
```

but should have been refactored to
```
typedef double PointType[3];
using Function = bool (*)(PointType, PointType);
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0k0-L2zAQxT_N-CJiZNnejQ86ZDeYHrbQQ-hdfyaWWtkKlhRIP32RnW2Ssj2UUrBkBj_P-83AEyHYYULk0L5Auy9EisbP_GD8KMKnhDEoU0ivL1w5MQ2baPWFKIPqOxm9xnmyP3CTQj52Ggiw7dvb18-k2pZVyYB1ZMaTEwoDiQZJvJxQ45FMYsSs_eLtFA-XE2alvCwa4awIqBdt1mifpENgO2Ad0D3Q3XofDBLlNZLjLIYRp3j9-ESvz1K-O65dyM2wfamh3UP98qiT3rvsCmzXp0lF66fs-4D6Su65f7X4zdkGMuNRqOjnPI0n_8S3rvcdiUC9v0ddEa89lvqV3Fd_hFxvmSIJxieniRFnJBJxeoT_7-x_sd5C81p3dScK5NVz1bXtU1VXheGyo6Jqm1Z0ClEL7Fql9LaRjaibo6BYWM4oa-gT2-bTVqXaNqiprChtZFs3z9BQHIV1pXPnsfTzUNgQEvLumdKucEKiC0tSGLvFARjLyZl5_mkj0xCgoc6GGG5too0O7yIE9e7D_NzScpeU8FE0ijQ7bmI8Bah3wHpg_WCjSbJUfgTWZ-vra3Oa_TdUEVi_jBOA9etEZ85-BgAA__-EAzsi">