https://gcc.gnu.org/bugzilla/show_bug.cgi?id=105667
Barnabás Pőcze <pobrn at protonmail dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pobrn at protonmail dot com --- Comment #6 from Barnabás Pőcze <pobrn at protonmail dot com> --- Another snippet that I believe triggers the same issue: template<typename> struct get { }; template<int> struct thing { using T = decltype([](auto) { }); static constexpr auto value = [](auto) { return get<T>(); }(0); }; thing<0> X; --- In this case template_parms_to_args() is called with a nullptr. template_parms_to_args (parms=0x0) at /usr/src/debug/gcc/gcc/cp/pt.cc:4912 tsubst_template_decl (t=0x7ffff7177280, args=<optimized out>, complain=3, lambda_fntype=0x7ffff717b738) at /usr/src/debug/gcc/gcc/cp/pt.cc:14543 tsubst_lambda_expr (t=<optimized out>, args=0x7ffff7171d80, complain=3, in_decl=0x7ffff7173800) at /usr/src/debug/gcc/gcc/cp/pt.cc:19855 tsubst_copy_and_build (t=<optimized out>, args=0x7ffff7171d80, complain=<optimized out>, in_decl=0x7ffff7177000, function_p=<optimized out>, integral_constant_expression_p=false) at /usr/src/debug/gcc/gcc/cp/pt.cc:21446 tsubst (t=0x7ffff71760a8, args=0x7ffff7171d80, complain=3, in_decl=0x7ffff7177000) at /usr/src/debug/gcc/gcc/cp/pt.cc:16400 tsubst_template_args (t=0x7ffff7171a20, args=args@entry=0x7ffff7171d80, complain=complain@entry=3, in_decl=in_decl@entry=0x7ffff7177000) at /usr/src/debug/gcc/gcc/cp/pt.cc:13580 [...] --- GCC 12.2.0, but GCC trunk on Compiler Explorer also exhibits the same issue (as do GCC 11.1, 11.2, 11.3, 12.1, and 12.2)