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

    <tr>
        <th>Summary</th>
        <td>
            [clang-include-cleaner] unnecessary include suggested when including fully contained header
        </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>
          firewave
      </td>
    </tr>
</table>

<pre>
    test.h
```cpp
#include <string>

struct S
{
    const std::string& str() const;
    std::string mStr;
};
```

test.cpp
```cpp
#include "test.h"

const std::string& S::str() const
{
    return mStr;
}
```

```
$ clang-include-cleaner --print=changes test.cpp
[...]
+ <string>
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJx0kl2OqzoMx1cTXiJQ6iRQHnhop7cbmBUkwYVcpQHFoaPZ_REtPWc-JSTiOLZ__tuGyA8RsWP6yPSpMEsep9RdfMI3c8PCTv17l5FyNTJxYLV4fG6eVxOkjy4sPXImXygnHwcm_1s94kA5LS7z19VqjkwcOOfcTZEyp9wzeWDysIVAzSknBnsG7eMJk8-IL2_59TWnh5c1p-3wpHoUvtNugL_zAmxdATzCfkV7_XvxifBjWwnzkuIXtm9gn0xQ3AUTh3IjKl1AEzHxspyTj5nJkxtNHJD4x4b0saoqpu_Z4fhN9meFou9k38rWFNjtGgWqrRWIYuy01aqWSluUbeN2yrS46y814r4WVltX-A4EaCFB7Paq1m1l1V5YA0r2VjXWCaYEXo0PVQi3azWlofBEC3Y7CdBAEYzFQPd1AriYQFjOE_nsb7hKDS8M4MfGV68-Falb85Z2GYgpETxl-lcp-xzuq_pzBn3iS4zokMikd_6cNS3DgJSx528jxu163aXLEsL7Os5sfMSej2h6TMWSQjfmPNM6eDgzOA8-j4ut3HRlcF5ptl85p-l_dJnB-S4CMThvOtw6-BMAAP__A5kDYA">