[PATCH] D119136: [clang] Implement Change scope of lambda trailing-return-type
Corentin Jabot via Phabricator via cfe-commits
cfe-commits at lists.llvm.org
Thu Apr 21 12:29:47 PDT 2022
cor3ntin added a comment.
In D119136#3465361 <https://reviews.llvm.org/D119136#3465361>, @AaronLiu wrote:
> When compile the following valid testcase:
>
> void foo()
> {
> int x = [x](int y[sizeof x]){return sizeof x;}(0);
> }
>
> It will complain:
>
> error: captured variable 'x' cannot appear here
> int x = [x](int y[sizeof x]){return sizeof x;}(0);
> ^
>
> The issue is also described in: https://cplusplus.github.io/CWG/issues/2569.html
Is that something you encountered in existing code, or where you trying to write test against this change.
I only implemented the `decltype` part of the proposed resolution, for reason explained in that link (supporting `sizeof(unqual-id)` and `noexcept(unqual-id) seems extremely arbitrary).
But hopefully WG21 will come up with a more encompassing fix before we attempt to re-land this change
Repository:
rG LLVM Github Monorepo
CHANGES SINCE LAST ACTION
https://reviews.llvm.org/D119136/new/
https://reviews.llvm.org/D119136
More information about the cfe-commits
mailing list