Q: Lambda template variable (static constexpr) inside template class - unexpected expression of kind template_parm_index I'm trying to define a lambda template variable (static constexpr) inside of a template class.  The template variable takes in a NTTP, which I want to be a size_t.
I'm able to do so in certain situations, like if the NTTP is auto instead of size_t.  I'm also able to do so if the class itself isn't a template class.  But if I try to use a NTTP (size_t) for the lambda within a template class, I get:
internal compiler error: unexpected expression '<enumerator>' of kind template_parm_index
Live example: https://onlinegdb.com/Sk3wC7nyP
Code below:
template<size_t>
struct Foo{
    // internal compiler error: unexpected expression '<enumerator>' of kind template_parm_index
    template<size_t>
    static constexpr auto foo = [](){};
};

template<size_t>
struct Bar{
    // OK
    template<auto>
    static constexpr auto foo = [](){};
};

struct Baz{
    // OK
    template<size_t>
    static constexpr auto bar = [](){};
};

