[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