<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/143600>143600</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
False positive for `-Wunused-private-field` with deduced explicit object parameter
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
rohanlean
</td>
</tr>
</table>
<pre>
The following C++23 code gives a warning with `-Wunused-private-field`:
```
struct S {
int f(this auto self) { return self.x; }
private:
int x;
};
```
This one does not:
```
struct S {
int f() { return x; }
private:
int x;
};
```
And neither does this:
```
struct S {
int f(this S self) { return self.x; }
private:
int x;
};
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJy0ksuq2zAQhp9mvBkSZPkWL7RwGvwC50DXsjW2VRTJ6JKcvn1REmjponAoBwweNJf_0-iXIejVEgloztBcCpni5rzwbpPWkLTF5NRP8b4RLs4Yd9d2xW_Az8DPvMLZKcJV3yigxLv0NqfvOm4ILTt8TzYFUofd65uMdFg0GQUtg2oANuTg-bEhRJ_miG8I3RnYgIjaRlyAn-KmA8oUHQYyC_A-l6CnmLx9HB0_oDojdJc8kg0vrafEa06uyNnu8gr-UAY2vGcJZwmVo4DWxc_w_UX03zCDVYiWdNzIP4HyBj69sbevWFehRKX6qpcFibKr--Z0qitWbIIWWfWqbMq6UqdF8b7tS75IWapZtdRNhRac8Ya1JeOs7kp2nNuaatXNsunpVC8N1IyuUpujMbfr0fm10CEkEmVdtYwVRk5kwsOjnFu64yMLnGfLepGbDlNaA9TM6BDD7zFRR0NilCYQ7i7oqG_Zyv6fBn1aWJFKMymkj93oWUd00w-aI-7SyytF8kXyRmwx7o_34SPwcdVxS9NxdlfgY4Z4_Q67d7kZ-PhAD8DH191ugv8KAAD__z-MDIk">