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

    <tr>
        <th>Summary</th>
        <td>
            [clang-tidy] misc-unused-parameters inconsistently misses intitializers
        </td>
    </tr>

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

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

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

<pre>
    I am seeing clang-tidy inconsistently warn or ignore about unused parameters in constructors where the initializer makes use of the parameter. It will complain about some parameters but not others.

I have some functions like:

```cpp
class MyClass {
  public:

    MyClass(Point point1, Point point2, MyStruct otherStruct, bool someBool, float someFloat)
      : mPoint1{ point1 }
      , mPoint2{ point2 }
      , mOtherStruct{ otherStruct }
      , mIgnore{ someBool }
      , mSomeFloat{ someFloat } {}
    MyClass(Point point1, Point point2)
      : mPoint1{ point1 }
      , mPoint2{ point2 }
      , mOtherStruct{ MyStruct() }
      , mIgnore{ false }
      , mSomeFloat{ 0 } {}
  private:
    Point mPoint1;
    Point mPoint2;
    MyStruct mOtherStruct;
    bool mSomeBool;
    float mSomeFloat;
};
```
I am seeing:
```
/home/myuser/file.hpp:30:20: error: parameter 'point1' is unused [misc-unused-parameters,-warnings-as-errors]
    MyClass(Point point1, Point point2, MyStruct otherStruct, bool someBool, float someFloat)
                  ^~~~~~
                   /*point1*/
/home/myuser/file.hpp:30:34: error: parameter 'point2' is unused [misc-unused-parameters,-warnings-as-errors]
    MyClass(Point point1, Point point2, MyStruct otherStruct, bool someBool, float someFloat)
                                ^~~
                                 /*point2*/
/home/myuser/file.hpp:37:20: error: parameter 'point1' is unused [misc-unused-parameters,-warnings-as-errors]
    MyClass(Point point1, Point point2)
                  ^~~~~~
                   /*point1*/
/home/myuser/file.hpp:37:34: error: parameter 'point2' is unused [misc-unused-parameters,-warnings-as-errors]
    MyClass(Point point1, Point point2)
                                ^~~
                                 /*point2*/
```
Even though `point1` and `point2` are clearly used in the initializers. **More importantly, I am not seeing this warning for `otherStruct`, `someBool`, or `someFloat`.**
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJzdVs2O4ygQfhr7UopFsBMnBx-S6YnUh9a2NE-AHRyzg40FuKPs028BseO0Muqe1Wp2tJHFT1FQX31UkSrV8VI8A2vBcC66E1SSdaeFFccLiK5SnRHG8s7KC5yZ7kBpEKdOaQ6sVIOFoRsMP0LPNGu55drgLnDbrB4qq3B-bjhq24bjirCCSfEX19Cy79wA7gVV-8XphASeLZyFlHhM20uG5wVTRrV8bqhEWacsKNyuTRKRp4jsQvsMDXvjYUc9dJUViAik-M6jdDdXjNYkfFXfBwn6bwy8XL74Psr3QQzQD6UU1bv9gL-rbkQ3r0p0FnrXLiP6BWZz6uYvl2-elgA5jJ28VEp6sHscOEEtFQsOH9wootubOQDEAO1rsJLvr_YQ6tOdEh4TlOikRB8q_TEDg5ozbA_Vn_31O80R8UO1bxP4q6afOFVP6nzHZwn8hSSMN4WY0O4HPNRMYhx_SAJ54HyvxRuzt6h0O4PTo2_p_vEKvVuZIuvOkbmGjzEPyAfZfClE2wzsuOiATuMxU8YMm56MW0rcq0T00OCR2LUXTHSNg1pInjSYaukuJdhQ1wDXWmk3mJIb2cvHKMhBmPGZiVb7VphqEaaL22OAbC_c-4RwzIKZhT_SRKt_EGX_WprOf9Hqa5Tffz_QRNcPEd2N6ByLn6YzzT6gk_5P6PwRuZ9SnzNMf4Lh_DcN2P8w6PLfNOh-deDcP3xf33iHNY0aTg2g8ApyTYB1x0lAvQAro0pyprG88uSI7n2lZBLwpnYvrugSba-0Za4ec177V9jVQNfizTbI85VDqLFWQyPzrEOEuAu7Ke2CJGjeMm9NkmA05sVyvc7yVbbakPhYpMdtumWxFVbyAm_yVi3iPcHje31fR6KW4U5qb07Gg5ZFY21v3L-Jo_lwErYZygSLQJxI-TZ2i16rP7l7Qg540MAxGg6rzXK5jptitcw32yqlZV3xOi9zXh9JRtZ5xXKS8U0VS1ZyaRzyiNKOn8EfgWOEH4uCEkqXBJs022Yk2SzzrM5WW1KWZU5JHmWEt0zIxOFIlD7FuvCQyuFkcFGij-a2iJGKtTL3RLnz2YBBoYsntjtzx_Vr7K0XHv3fE5Fv-Q">