https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90489
Bug ID: 90489 Summary: Attributes no longer allowed in lambdas with trailing return type Product: gcc Version: 9.1.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: mathias at gaunard dot com Target Milestone: --- As of GCC 8.2, the following code is well-formed: auto const f = [](int) __attribute__((always_inline)) -> int { return 0; }; With GCC 9.1, it fails to compile. Note however that the following remains valid: auto const f = [](int) __attribute__((always_inline)) { return 0; }; So it looks like there is some bad interaction in the parsing between attributes and the late return type.