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