The closure type for a non-generic lambda-expression with no
lambda-capture
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.

The value returned by this conversion function
is the address of a function F that, when invoked,
has the same effect as invoking the closure type's function call operator.

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.

For a generic lambda with no lambda-capture, the closure type has a
conversion function template to
pointer to function.

The conversion function template has the same invented
template parameter list, and the pointer to function has the same
parameter types, as the function call operator template.

The return type of
the pointer to function shall behave as if it were a
decltype-specifier denoting the return type of the corresponding
function call operator template specialization.

If the generic lambda has no trailing-return-type or
the trailing-return-type contains a placeholder type, return type
deduction of the corresponding function call operator template specialization
has to be done.

The corresponding specialization is that instantiation of the
function call operator template with the same template arguments as those
deduced for the conversion function template.

Consider the following:

auto glambda =[](auto a){return a; };
int(*fp)(int)= glambda;

The behavior of the conversion function of glambda above is like
that of the following conversion function:

The value returned by any given specialization of this conversion function
template is the address of a function F that, when invoked, has the same
effect as invoking the generic lambda's corresponding function call operator
template specialization.

F is a constexpr function
if the corresponding specialization is a constexpr function.