https://gcc.gnu.org/bugzilla/show_bug.cgi?id=107457
Bug ID: 107457 Summary: ICE when template lambda alias used as default template argument Product: gcc Version: 12.2.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: aandrejevas5 at gmail dot com Target Milestone: --- The following code causes an ICE with GCC 12.2.0 until trunk, on -std=c++{20,23}: template<class T> using lambda = decltype([]() {}); template<class R, class F = lambda<R>> void test() {} int main() { test<int>(); } godbolt: https://godbolt.org/z/Mx1z77hTn Error message: PS> g++ -std=c++20 "main_ice.cpp" -o"bin\main_ice.exe" main_ice.cpp: In substitution of 'template<class T> using lambda = decltype (<lambda>) [with T = R]': main_ice.cpp:4:36: required from here main_ice.cpp:2:25: internal compiler error: Segmentation fault 2 | using lambda = decltype([]() {}); | ^~~~~~~ libbacktrace could not find executable to open Please submit a full bug report, with preprocessed source (by using -freport-bug). See <https://github.com/msys2/MINGW-packages/issues> for instructions.