https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105878
Bug ID: 105878 Summary: Error message for const usage inside a capture should be improved Product: gcc Version: 12.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: pinskia at gcc dot gnu.org Target Milestone: --- Take: ``` void f(int a) { [& const a](){}; } ``` The current error message is: ``` <source>: In function 'void f(int)': <source>:3:5: error: expected ',' before 'const' 3 | [& const a](){}; | ^~~~~~ | , <source>:3:6: error: expected identifier before 'const' 3 | [& const a](){}; | ^~~~~ ``` clang gives: ``` <source>:3:6: error: expected variable name or 'this' in lambda capture list [& const a](){}; ^ ``` Which is slightly better. but I think we could do better and say qualifers should not be in the capture list.