This is an unofficial snapshot of the ISO/IEC JTC1 SC22 WG21 Core Issues List revision 115e. See http://www.open-std.org/jtc1/sc22/wg21/ for the official list.
2024-11-11
If an init-capture binds a const reference to a temporary, is the lifetime of the temporary extended to match that of the lambda? For example,
struct S { ~S(); };
const S f();
auto &&lambda = [&x(f())] () -> auto& { return x; };
auto &y = lambda(); // ok?
Notes from the September, 2013 meeting:
CWG agreed that there is no lifetime extension in this example.
Rationale (June, 2014):
After further consideration, CWG agreed that this example should extend the lifetime of the temporary (because the notional variable is a reference) and that the existing text is clear enough in this regard.