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