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

    <tr>
        <th>Summary</th>
        <td>
            clang-tidy readability-identifier-naming fails for template template parameters
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            new issue
      </td>
    </tr>

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

    <tr>
      <th>Reporter</th>
      <td>
          marcin-szmagara
      </td>
    </tr>
</table>

<pre>
    Consider following `c++20` code:
```C++
template <template <typename> typename T>
constexpr bool always_true = true;

template <typename T>
using change_to_camel_case = void;

int main()
{
  always_true<change_to_camel_case>;
}
```
and following `.clang-tidy` config file:
```
---
Checks: '-*, readability-identifier-naming'

FormatStyle:     file
CheckOptions:
  - { key: readability-identifier-naming.TypeAliasCase, value: CamelCase  }
...
```
Both `clang-tidy` with `--fix` option and `clangd` using code-actions, rename the type alias at it's definition, but not at it's usage. In other words, the output file is:
```C++
template <template <typename> typename T>
constexpr bool always_true = true;

template <typename T>
using ChangeToCamelCase = void;

int main()
{
  always_true<change_to_camel_case>;
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzVU0tv2zAM_jXyhbBhK--DD6mzADvtsN4LWZIdrYpkSHLT7NePktOk7YJehwVCTPHxkfxItVac68Yar4R00Fmt7UmZHsiy5IQ-4KElysCtkGS2JeWOlFtUTKeZXCZtkMdBsyCBzJoP8nmQhh0x_Bu8yfCItymMY_IgXwcHrbUamD6xs38KbozBO4gCmV1S3En0N-DoYwP8wEwvn4J94mjW-O8nwBerxCdAZQIcmTKErgndXCyriwu8Lwkz3gOOua-Qq90nlqYrM-IjvwXXiJQHJc4Tw6ZTPXRK3yF6uuZ5PgnNQfJnj25A6CondEtoA04ywVqlVTjnOE0TVKeky5EdTIh-7zveW3dk4Wc4p2QQfynxDf3HEBRO5loKQA7ICTzLc4z4MlnxiFPZasV8E8nB2l6YHlOmJnIWtQBXooqiuNvugw2HtIgfeDqpSZvnnXqNCpsqhcjvm7OI-sse4OLmjE_NJJbSuoSDTMuIw8UygQVQATnyIGSnjIru0bsdAxgb3tlHz3pZwHcDWB0-mZN1IgFHRDuGASMilaD8f_VemrTWj_Y2oH_zWDJZV8tltVpX63KZiXomNrMNy4IKWta3Tfh6AaFjSnt8bg6uzV-FgTmsJUjns9Hp-hDCkEZF93h63K6xLbg94kXrl7dPPjj7S3Lcgb3yfpQ48v1iNafL7FC3VbveVAspWMkW3ZxLtq4k31SULllZcZFp1krta7LA4VMjT5AgUCaLXaZqWlJarummmpczuiwW2G_LZrzF-LbtBJmXEgnXRayjsK7PXJ1Kasfeo1ErH_zNyLxXvZEypUN8NoaDdfWROa5M7n8fWY8EZKmEOrXwBxGN3KA">