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

    <tr>
        <th>Summary</th>
        <td>
            [clang-tidy] Check request: performance-redundant-std-vector
        </td>
    </tr>

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

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

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

<pre>
    Need a check that will find cases where `std::vector` is used redundantly for **fixed-size, statically initialized data**. The check will suggest a replacement with `std::array` for better performance and clarity.

BEFORE:
```
bool foo(int val) {
  std::vector<int> v = { 1,2, 5, 10, 33 };
  return std::range::find(v, val) != v.end();
}
```

AFTER:
```
bool foo(int val) {
  std::array<int, 5> v = { 1,2, 5, 10, 33 };
  return std::range::find(v, val) != v.end();
}
```

In C++17 mode the check will produce replacement with CTAD usage:
```
bool foo(int val) {
  std::array v = { 1,2, 5, 10, 33 };
 return std::range::find(v, val) != v.end();
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJzMlM9u4zYQxp9mdBnYoIaWFB10kP8BvbRAkBegyZHElpZcknLqPH1By22S3dMGWGABgxYgzjff7xM5KgTbj8wNFFso9pma4zD5xvD4NnkSIjtN5tb8zmxQoR5Y_4VxUBFfrXPY2dGgVoEDvg7sGaEUIRqQLcj2yjpOHkqBNuAc2KBnM49GjdHdsJs8ArVAbWf_YbMK9o2BdhiiilYr525oRxutcvaNDRoV1bJ9jS8DP5zcTYS57zlEVOj54pTmM4_JXxw-2VHeq1tykzqfOEb2eGHfTf6sRs2oEopT3sbbGkQLot0ejn88H1K1aKEUj59oT9PksJsmoCc7RrwqB1QjVFsQLeK3_HJnxwjygFcEuU_bMAfaUYIt0pKLtEqJUO1BLiKe4-zHdy2vxp6Xx5Q50NM1Ff3XmvIkfV3z_RVQvegkwc_WQbTt8eXw_GWoJcWF6Q7w64D9NuIOaAu0zSs8T4Yxfj4oFz-ZWfP3x2T30u5xDmpx8vVcfiSJnxJEZhppalmrjJu8KvJNLopaZENDtaRqw1SXupZPLIxRXak1dVW-ESY3mW1IUCEqkRMVpRTrsmItpeS8y_NClxVsBJ-VdWvnruf15PvMhjBzk2_KUlSZUyd24T5EiLRTY7-K1tyAKA0V36Sq1WnuA2yEsyGGd51oo7uPnw9lxR539w_n-e-ZQwTZfrysq_8nySpEs1puWjZ71wwxXkKKkY5Ax97GYT6t9XQGOqaGj7_VxU9_so5AxztFADo-QK4N_RsAAP__dEt53A">