<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">