https://gcc.gnu.org/bugzilla/show_bug.cgi?id=119239
Patrick Palka <ppalka at gcc dot gnu.org> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |ppalka at gcc dot gnu.org
Resolution|--- |INVALID
Status|UNCONFIRMED |RESOLVED
--- Comment #2 from Patrick Palka <ppalka at gcc dot gnu.org> ---
IIUC this code is valid -- an lvalue-to-rvalue conversion in implied in the
return, and so the constant variable 'i' isn't actually odr-used and doesn't
need to be captured.
Note that Clang also accepts the testcase if we turn 'f' into a non-template,
or give the lambda a concrete 'int' return type.. seems like a bug in Clang to
me if anything.
Feel free to reopen if you disagree :)