https://gcc.gnu.org/bugzilla/show_bug.cgi?id=108242

--- Comment #7 from Jakub Jelinek <jakub at gcc dot gnu.org> ---
Sorry, above doesn't compile, but
template<class F>
void my_fun()
{
  auto fun = [&](auto res) {
    static constexpr char const* fun_name = __PRETTY_FUNCTION__;
    struct
    {
      constexpr const char* operator()() const { constexpr char const*
fun_name2 = __PRETTY_FUNCTION__; return fun_name; };
    } t;
    t();
  };

  fun(12);
}


int main() {
  my_fun<int>();
}

ICEs and compiles fine with G++ 11.x.

Reply via email to