https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99850
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jakub at gcc dot gnu.org --- Comment #3 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Ah, but in lambda-expression: non-terminal there is another requires-clause[opt] after the < template-parameter-list >. So we need to handle auto l = []<class T> requires true (T t, int n) { }; But during parsing we have parsing of requires clause at that spot after >, and when ()s are omitted, there is code to handle -> at that spot.