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

    <tr>
        <th>Summary</th>
        <td>
            [clang-include-cleaner] suggest to insert header in source file when header would be enough
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            false-positive,
            clang-include-cleaner
      </td>
    </tr>

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

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

<pre>
    `clang-include-cleaner` suggest to include `cstddef` because of constructor (or may be method) implementation when it its inclusion in header should be enough.

`clang-tidy misc-include-cleaner` output:

```
clang-tidy -checks="-*,misc-include-cleaner" Method.cpp 
1 warning generated.
Method.cpp:3:18: warning: no header providing "size_t" is directly included [misc-include-cleaner]
    2 | 
    3 | Test::Test(const size_t size)
      |                  ^
```

I tried `clang-include-cleaner` from `main` (7d8b4eb0ead277f41ff69525ed807f9f6e227f37).

Header file (`Method.h`):

```
#pragma once

#include <cstddef>

class Test
{
public:
    Test(const size_t size);

protected:
    size_t size_;
};
```

Source file (`Method.cpp`):

```
#include "Method.h"

Test::Test(const size_t size)
:   size_(size)
{
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMVM1u8zYQfJr1hbBBLa2_gw7KH9pDT-2plw8UuZLYjxIFkkqQPn1BWU6c1ghqCBApzg5nZ9crQzDDTNRA_gD500GucXS-eV4HmulPsjT_dIfO6fcGCq6snIejmZVdNR2VJTmTh4KzsA4DhciiY_spS_AQtaY-ATpScg3EXM-Um0P0q4rOM8DKeTbJd9YRmyiOTgPWzEyLpYnmKKNxM3sbaWYmMhPDhT6kr2ZmI0lNnoXRrVYnCprdOown4G16roKj0e9sMkHdk-7WuKwRRPsRtD-8vYk-qpHUzwDiCRCPgC3g411GRPbblsdJLQsD3mbsTfrZzANLjnoZSSd9nyAQrQDRZhWI9opNy9ld81u8ezU6UQBiMH_Tj5juMYFp40lF-351XTPIH-7qyp-At4wxhgzKR7ZvxLb5g8JmgGi3FVZbidjlpu0FWO8RbIv4zw_y53-ZB7z9lUVvkqZvOqf3bkqASZo57QGrUlfdmTpOUmNZ9ues74s6x5x0xcu-7gtCLHtRAtZ7pX-5-NQbS4kACr7bOyYtWN-tLqBYvBwmydysaD9H8dG_4vHav-L5cqqsDOHiFm-hfADeLmtnjbrwJx--M1A8XGgW7yKpSPoz7Ab5Y8eVT_viq6e_u9UrupNq6qRvk_1IDPHDHcQL9P92QOrLXS1gdfO9vGq-ufagG6FrUcsDNVkpigozIfLD2PCuLrOukjnnvM-LWqgzdVhjX8gzkeYH0yDHnGfZmSNilp8wFx1lVd7LIldFjnDmNEljT9a-Tifnh4MJYaUmQ6zO5cHKjmzYRhpiL22g4-KCieaVUsr4CIj3OxIxDUHfJN5jtw4BztyaEMPnTdFEu43L-wz509dpGMjH6x_ZzCzc1G-ba_vR29cRdli9bcYYl5DKgi-AL4OJ49qdlJsAX5Ka_XVcvPuLVAR82UwIgC-7D68N_hMAAP__zNPMHg">