<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/97964>97964</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
clang-tidy: readability-redundant-smartptr-get does not remove `->`
</td>
</tr>
<tr>
<th>Labels</th>
<td>
clang-tidy
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
e-kwsm
</td>
</tr>
</table>
<pre>
Prepare `/tmp/a.cpp`:
```cpp
#include <memory>
#include <vector>
int main() {
std::vector<std::shared_ptr<int>> v;
auto f = [](int) {};
for (auto i = v.begin(); i != v.end(); ++i) {
f(*i->get());
}
}
```
and `/tmp/compile_commands.json`:
```json
[ { "directory": "/tmp", "command": "clang++ -std=c++11 -c -o a.o a.cpp", "file": "a.cpp", "output": "a.o" } ]
```
Then
```console
$ clang-tidy --version
LLVM (http://llvm.org/):
LLVM version 18.1.8
Optimized build.
$ clang-tidy '--checks=-*,readability-redundant-smartptr-get' --fix a.cpp
1 warning generated.
a.cpp:8:8: warning: redundant get() call on smart pointer [readability-redundant-smartptr-get]
8 | f(*i->get());
| ^~~~~~~~
| *i->
a.cpp:8:8: note: FIX-IT applied suggested code changes
clang-tidy applied 1 of 1 suggested fixes.
```
gives
```cpp
f(**i->);
```
which must be
```cpp
f(**i);
```
<https://godbolt.org/z/nrd51vWKz>
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJyMVU2PozgT_jXOpQQCEyA5cMhHRxq982r3MNrd28jYFfAM2Mg26Ukf9revbCDJtLqnByV81MdTrqceDLNWNgqxIvme5McVG12rTYXR92fbr2otrtWfBgdmEEiREHpy_UDoicV8GLwh25HkSJLlXCTTz3snC82k4t0oEEh26LHX5kqyp7ecF-ROm7sznKVy0DOpCN0QugVS7ic7gHXCV892S97hZrEtMyi-Ds5bpXIeM3uCC8mWbDY6DWcg2RGmxgnd-MC5RHm8h8JZGyB0E1JkSLnENTbLmki292aaTh5U4m4ndE_oXv688nPw72REsqcG3RwdEpaSfgETCbebhdlHcpgSP02F636QHX7luu-ZEjb-ZrX6xZSCezLle79CIJQKaQKhV0IpyXbetBSghB7884x_D-AdU83ULERhDEc-PaYpRBwiDSz2f6-LG8xZdnjHeOXUoxtG9-jWhFLPDPhxvU_KlxbV25rUyuoOF-mtIaw6clJcIYouaKzUCib3589__d8PvXVu8OzRE6Gnrrv0sTZNeNreSAUI0QtAuonTeDO7_hic7OULCqhH2Yn4zeKEllHEW-TfLcmOEaE7Qg8GmWC17KS7RgbFqARTLrI9M25wJgrCKSGKzvLHzGuATuGZGSVVAw0qNMzhUnQKynab-b8E-ttbAbgJEjjrOtAKQkkYtFQOjX9bfmNly4AAADZAyoO_-R3h-8OHk_zp3-l47ZmPBeed3pR26K-nT_9En74AG4ZOogA7Ng1ahwK4Fgi8ZapBO2E8DGQJT0GfIX3IOssfaONfiK-RlwXvvR3xgYlbEw8cvAn73EreQj9aBzV-AP-A_SEuyQ5e4fYm8UaLWnduVvkLoSdlRJ5e_v7fC8meVqLKxDbbshVWaUmTrFyXZbFqK5FvtgUvkzVNN0W-zWlSr8ukSDdZiussL1ayogldJ2VSpmVO8yKuU3He8pzymvIipylZJ9gz2cXLS7aS1o5YbcttsV51rMbOhm_UvNmEQfndIT-uTOWTonpsLFknnbTO3mGcdB1WDzlB7h8pGIRG61UEBnt9CR-_MKkiWY2mq16xJl071jHX_bxLzJdoMPobckfoKXRjCT1NDV0q-l8AAAD__3fyExg">