Will I be able to declare a constexpr lambda inside a template parameter?
No, that is a compiler bug. gcc 7.1 correctly rejects the code. [expr.prim.lambda]/2: A lambda-expression is a prvalue whose result object is called the closure object. A lambda-expression shall not appear in an unevaluated operand, in a template-argument, in an alias-declaration, in a typedef declaration, or in the declaration of a function or function template … Read more