Acceso a la variable constexpr dentro de la expresión lambda sin capturar

En el siguiente ejemplo, puedo acceder a laconstexpr variablex desde el interior de la lambday sin capturarlo explícitamente. Esto no es posible six no se declara comoconstexpr.

¿Existen reglas especiales que se aplican aconstexpr para capturar @

int foo(auto l) {
    // OK
    constexpr auto x = l();
    auto y = []{return x;};
    return y();

    // NOK
    // auto x2 = l();
    // auto y2 = []{ return x2; };
    // return y2();        
}

auto l2 = []{return 3;};

int main() {
    foo(l2);
}

Respuestas a la pregunta(1)

Su respuesta a la pregunta