https://gcc.gnu.org/bugzilla/show_bug.cgi?id=98500
friedkeenan at protonmail dot com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |friedkeenan at protonmail dot com --- Comment #3 from friedkeenan at protonmail dot com --- I've triggered this without a template template parameter: #include <type_traits> template<auto unique = [] {}> struct unique_empty_type { }; template<bool IsPresent, typename T> using maybe_present = std::conditional_t<IsPresent, T, unique_empty_type<>>; using empty = maybe_present<false, int>; Godbolt link: https://godbolt.org/z/hf9csv8ne Upon instantiating `empty`, an ICE is thrown. To me this seems like the same bug.