<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/81589>81589</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
[[lifetimebound]] basic members tracking
</td>
</tr>
<tr>
<th>Labels</th>
<td>
new issue
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
DenisYaroshevskiy
</td>
</tr>
</table>
<pre>
Hi!
Would be amazing if the following is caught to:
https://godbolt.org/z/5ze9s5roj
```
#include <utility>
struct Struct {
std::pair<int, int> member;
const auto* foo() const [[clang::lifetimebound]] { return &member; }
};
int main() {
// auto& caught = *Struct().foo();
auto& not_caught = Struct().foo()->second; // this is a bug
(void)not_caught;
}
```
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJxsU81uozAQfprhYjUyNgQ4cEhK0d73sNrTysYG3Bq7sset2qdfEWgSVZUQIwZ9P_MnYjST07qF8gxll4mEsw9tp52Jf0XwcdZv8cV8ZNKrj_aXAZYD7YCetvcfn6wiUhOxiE_jJmJGgrMmo7fWv18SkQwiTTMS9MBP9-AZ8TWuOdYD6yevpLd48GEC1n8C68tP3cQy-OcddKT7s30ybtxgk9IE-GNCYw1-AH-6V4gY0oDk9xagOm9pQiKqVZifXoUJwB-NQ2CPZA38iSx6kToAP99zkcG7iEQk9MBOZPQeWA2s2fOX_p0HK9y0MVszajSLlj45BWUHZbc6IEFjCo4AO15lCFTdLlV132SNQ7II43axuxq2tu2Gjl9dBt4RYKet5A10uHq9cl9RzuO_O-TPsAfgT1EP3qnV7Jcwziau4xVEpmmnBVa_eaOANTfiW0HXKr8mmamWq4Y3ItNtXtGqzuu65NncFk1TVKMqCyrzQiklpRy5GBtdjJrzY56ZllFWUJbznNKK84PUlR6Loa6KStOqoVBQvQhjD9a-LetSZSbGpNs6L-sms0JqGy9Lz5jT7-TyExhbbyC0K-ZBpilCQa2JGG8saNDu13L-acRSRDPsGxQJBjG8GDdlKdj2274bnJM8DH4B1q_0e3h4Df5Zr0PoL6YisP5i-n8AAAD___1eFhc">