Connected features
Papers
5 · Virtual Feb 2021 → Brno 2026Makes the lambda parameter list optional when a specifier follows: [] mutable { }, [] -> int { }.
Changes name lookup in a lambda's trailing return type so captured names mean the captured copies, as in the body (DR).
Allows attributes on a lambda's call operator: [] [[nodiscard]] () { }.
Adds mitigation rules so code affected by the P2036 lookup change is diagnosed instead of silently changing meaning (DR).
Specifies that lambda expressions are identified and ordered lexically, fixing ODR/mangling ambiguities (DR).