https://gcc.gnu.org/bugzilla/show_bug.cgi?id=99850
--- Comment #2 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Are you sure it is incorrectly rejected? http://eel.is/c++draft/expr.prim.lambda.general says: lambda-declarator: lambda-specifiers ( parameter-declaration-clause ) lambda-specifiers requires-clause[opt] So in my reading, if requires-clause is present, the ()s are not optional. Otherwise requires-clause[opt] would need to be in the lambda-specifiers non-terminal or present also after the first lambda-specifiers.