<table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Issue</th>
<td>
<a href=https://github.com/llvm/llvm-project/issues/127195>127195</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>
-Wreturn-stack-address false positive
</td>
</tr>
<tr>
<th>Labels</th>
<td>
false-positive,
clang:memory-safety
</td>
</tr>
<tr>
<th>Assignees</th>
<td>
</td>
</tr>
<tr>
<th>Reporter</th>
<td>
hokein
</td>
</tr>
</table>
<pre>
https://godbolt.org/z/YW8eeWG1x
```
namespace std {
template <typename T>
struct basic_string_view {
const T* data() const;
};
using string_view = basic_string_view<char>;
} // namespace std
template <typename T>
struct StatusOr {
T* operator->() [[clang::lifetimebound]];
};
const char* s() {
StatusOr<std::string_view> s;
return s->data(); // bogus -Wreturn-stack-adddress diagnostic.
}
```
</pre>
<img width="1" height="1" alt="" src="http://email.email.llvm.org/o/eJyMk0-PmzAQxT_NcLGInDF_woEDSTY99tCVVj2tDBjiLmDkGdKmn74Ckt2me6lkCQTj937vYTSRbQdjcoj3EB8DPfHZ-fzs3owdgtLV1_zMPBKoAvAEeGpdXbqON863gKffgKfvLztjXr5sf4Es5pXI25LFoHtDo66MIK4FpHuQBZt-7DQbAerA19HMM-IZ1BPIgthPFYtSk61eib0d2teLNT9vW4Wo3EAsngELUWvWgDvAbH0Kah6B9LjeTGSHVjxoqONnZVCH6qz9bH_fL8SaVDzQr-H-A_4ba57oq39nXmjdaLxm58N5dqVeGt9XnR7auV1VdLYxbHtTummoIT7O6zEUyGJtYGHGQtBda_W6e4M6zMiL6kPYJ0HvSkJ4w5MfBM1QH3WC2t8bKF07kQhf1sGQWFdvoa7r2hsiUVvdDo7YVpsb5F9fP6hzVWcq04HJt6nKYiWTKArOeZbINMkildSy3KpdjLu6aspI7Zo0aVLEwOYoMZa4jbYyTjHaNEmZVMkuizBJYq0RIml6bbtN1136-SAGlmgy-RbTbRYHnS5NR8uBRmx0RyYcHVm2FwOIgAdAvLfem975a0i6MXyd38bHwOezblhOLUEkO0tMH05suTP550aWQhYzcTcLJt_9-_NYPk_lpnI94GnWvF3C0bsfpmLA0xKFAE-3NJcc_wQAAP__vAwe2w">