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

    <tr>
        <th>Summary</th>
        <td>
            modernize-use-designated-initializers fails with template types + using
        </td>
    </tr>

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

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

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

<pre>
    clang-tidy fails to detect missing designated initializers if the data structure is defined via `using MyTypeT = MyType<T>`
```
template<typename T>
struct Foo {
    T aaaaa;
    T bbbbb;
    
};

using Foo32u = Foo<uint32_t>;

void myFun() {
 const Foo<uint32_t> f1{1,2};
    const Foo32u f2{1,2};
}
```

clang-tidy correctly detects the missing designated initializers in  `const Foo<uint32_t> f1{1,2};` but it misses them in `const Foo32u f2{1,2};`:


```
 warning: use designated initializer list to initialize 'Foo<unsigned int>' [modernize-use-designated-initializers]
   44 | const Foo<uint32_t> f1{1,2};
      |                           ^~~~~
 |                            .aaaaa= .bbbbb=
```

Environment:
```
Homebrew LLVM version 20.1.8
  Optimized build.
```

```
CheckOptions:
 modernize-use-designated-initializers.IgnoreMacros: true
 modernize-use-designated-initializers.IgnoreSingleElementAggregates: true
 modernize-use-designated-initializers.RestrictToPODTypes: true
 modernize-use-designated-initializers.StrictCStandardCompliance: true
 modernize-use-designated-initializers.StrictCppStandardCompliance: true
```

</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJycVU1v4zYQ_TXUZWCBor7sgw6KHaEFNtiiMXotKHEks6VIgaQcOIf89oKys3Y3-5ENEcQSPfPem3ljkjsnB41YkfyO5LuIz_5gbOU89lxbg1FrxKnqFNfDyktxgp5L5cAbEOix8zBK56QeQGAA4h4FSC295Eo-o3Uge_AHBME9B-ft3PnZIkgHAnupUcBRciAFnReUh9P-NOEeSLq7PJN0uyfpPSkooXX4f_6jtcdxUtyHAH-aUPMRYYmk9ZkHGmOAlHeE1gAAe-BhkfS60YZ13QgE5e78Tmh9VtQYk7J5EdQYQ9LtLLVP2d8-UL2GHo0UMJ6aWRO2JmzzStsZ7fzbPOgTUt4lhG3ZF8Ig4Et4YOzZm5jw8P8mEFrfeNMZa7Hz6nQxxy2t_6lDGoIB79ZaUGhnD_LsPS4kY0C5BflmBQUlaX1W_VUd8MStlnogaQ2zw-9oBSWdD7N33QPCyotmvUxySFi8YSWQ_G40Aq2Wz7iaHa6usKvbFpB8d3Ygy4CU21-1DZak7y-S37-8vLyE6B8HQnwZ0R3El9n8huH3-iit0SOGOr9u5G9mxNbiE3z69NcDHNE6aTQwGifxepH7efJylM8ooJ2lEvFb_NvX7QG7f0OK0e5MBu_qaPz7oI3FB95ZExLB2xl_NftR6kHhvcJQaj0MFgfu8QNwf6LzVnZ-b_74vAuHygcwHheE7aPnWnArtmaclOS6ww9DTdMPwW5tiESVik264RFWSZmneZ5k6To6VH1CE1rwDSt5l7VZSVnOeV-KNW5ytk7zSFaMspyWrEjKtEzWcZb3eVKkouVFVpTdhmQURy5VrNRxjI0dIuncjFWS03LNIsVbVG65HRjT-ATLt4SxcFnYKiSt2nlwJKPhx-muMF56hdW7OnK5VJ6kP8DrsQ7hUHdA2B0sB3E0W1UdvJ-WOWQNYc0g_WFu486MhDWB9_Kxmqz5BztPWLOodYQ1l3KOFfsvAAD__2y7Lf8">