https://gcc.gnu.org/bugzilla/show_bug.cgi?id=109754
--- Comment #5 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Reduced further: ``` template <template <class> class> class __meval{}; template <class _Fun, class> using __tuple_types_fn = decltype(_Fun(), [] {}); template <class _Fun> struct __mexpand { template <class _MetaFn> using __f = __tuple_types_fn<_Fun, _MetaFn>; }; auto t = __meval<__mexpand<int>::template __f>(); ``` Removing the lambda inside the decltype removes the ICE.