Acesso à variável constexpr dentro da expressão lambda sem capturar

No exemplo a seguir, eu posso acessar oconstexpr variávelx de dentro do lambday sem capturá-lo explicitamente. Isso não é possível sex não é declarado comoconstexpr.

Existem regras especiais que se aplicam 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);
}

questionAnswers(1)

yourAnswerToTheQuestion