<table border="1" cellspacing="0" cellpadding="8">
    <tr>
        <th>Issue</th>
        <td>
            <a href=https://github.com/llvm/llvm-project/issues/102050>102050</a>
        </td>
    </tr>

    <tr>
        <th>Summary</th>
        <td>
            Missing -Wreturn-stack-address cases for lambda.
        </td>
    </tr>

    <tr>
      <th>Labels</th>
      <td>
            clang:frontend,
            clang:diagnostics
      </td>
    </tr>

    <tr>
      <th>Assignees</th>
      <td>
      </td>
    </tr>

    <tr>
      <th>Reporter</th>
      <td>
          hokein
      </td>
    </tr>
</table>

<pre>
    ```
#include <algorithm>
#include <functional>

auto foo(int x) {
    return [&]() { return x + 1; }; // good, give a warning.
}
std::function<int()> foo2(int x) {
    return [&]() { return x + 1; }; // no warning
}

auto foo3(int x) {
    auto a = [&]() { return x + 1;};
    return a; // no warning.
}
```

https://godbolt.org/z/nfacaEfGM, it would be good to detect case 2 and case 3.
</pre>
<img width="1px" height="1px" alt="" src="http://email.email.llvm.org/o/eJy0k0GPmzAQhX_NcBkFOeOQkAOHTVh62nPPY2yIu469ss3utr--giTaNt1KvVRCtqU3-H3zBjglO3pjGqgOULUFT_kUYnMKz8b6QgX9vYGtuD6iBfEAJK3v3aQNgjyyG0O0-XQG-fiZPky-zzZ4dh8Fy8pTDjiEAFRbn_EdaI-wO1xERMRo8hQ9zly0haoFqq81N-kdgQ64BnlA2LXLRh1Qh2MIGuiIo301yPjG0Vs_llf7XXs5pKxBPoB8uDGCPFqfLz4gH2c6-h94PtyQ7oh-T0b-1XupYATZ_pv_xf4Pdv6U6T6m-_Ev6ynnlzSnt7w9Bq2Cy2WII1D3A6jzA_f8OHx5msdgM76FyWlUZhkN5oDaZNNn7DkZJGSvL0dZFrqRei_3XJhmvSOq65qqujg1WxrkoLRSolIVb3YbVnu9lbynfliz4MI2JGgjalGREJt1Xa6VrGgrhmqgahC7GjbCnNm60rnX8wxb2JQm06wFiUoUjpVxafkRiHrHfpy_jRh8Nl4DEdDxF0FbHn1I2fZp1qq2iM1870pNY4KNcDbl9OGUbXamebIpWT_i6utlBKuUuX9esdbRpLREkHAIER2fleaymKJr7rK2-TSpsg9noG6-_rqtXmL4ZvoM1C1dJaDu2thrQz8DAAD__7xXH-k">