https://gcc.gnu.org/bugzilla/show_bug.cgi?id=100102
Jakub Jelinek <jakub at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |ice-on-valid-code --- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- Another reduction, which is accepted by g++ 7.x and clang++ and ICEs the same way by 8-trunk: template <bool> using a = int; template <class> struct b; template <class...> struct c; template <bool> struct i; template <bool d> using e = typename i<d>::f; template <class... d> using g = e<c<d...>::h>; template <long> struct j; template <class, class> struct k { static long o(); template <class> using n = a<j<int(k::o)>::den>; template <class l, class m, g<b<c<n<m>, l>>>> struct q {}; };