The closure type for a non-generic
lambda-expression with no
lambda-capture
and no explicit object parameter (
[dcl.fct])
whose constraints (if any) are satisfied
has a conversion function to pointer to
function with C++ language
linkage having
the same parameter and return types as the closure type's function call operator
. The conversion is to “pointer to
noexcept function”
if the function call operator
has a non-throwing exception specification
. If the function call operator is a static member function,
then the value returned by this conversion function is
a pointer to the function call operator
. Otherwise, the value returned by this conversion function
is a pointer to a function
F that, when invoked,
has the same effect as invoking the closure type's function call operator
on a default-constructed instance of the closure type
. F is a constexpr function
if the function call operator is a constexpr function
and is an immediate function
if the function call operator is an immediate function
.