https://gcc.gnu.org/bugzilla/show_bug.cgi?id=101181
Bug ID: 101181 Summary: ICE when using an alias template Product: gcc Version: 12.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: webrown.cpp at gmail dot com Target Milestone: --- The following program produces "Segmentation fault: 11 signal terminated program cc1plus" when compiled with flags -std=c++23 -fmodules-ts -pedantic-errors -O0 -c using gcc trunk version (Homebrew GCC HEAD-da13e4e_1) 12.0.0 20210623 (experimental) template< class T , bool = requires { typename T::pointer; } > struct p { using type = void; }; template< class T > struct p<T, true> { using type = T::pointer; }; template< class T > using P = typename p<T>::type; Without the final alias template, all seems well.