https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92402
Bug ID: 92402 Summary: parsing error in lambda trail return type with decltype, statement expressions and structure bindings Product: gcc Version: 9.2.1 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jonas.simple at googlemail dot com Target Milestone: --- The following code: int a[1]; void f() { decltype(({auto&& [x] = a; 0;})) b; (void)[]() -> decltype(({auto&& [x] = a; 0;})) { return 0; }; } when compiled with gcc 9.2 and --std=c++17 outputs: <source>: In function 'void f()': <source>:5:39: internal compiler error: in cp_parser_decomposition_declaration, at cp/parser.c:13786 5 | (void)[]() -> decltype(({auto&& [x] = a; 0;})) { return 0; }; | ^ Please submit a full bug report, with preprocessed source if appropriate.