https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116511
--- Comment #3 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Reduced and cleaned up some more: ``` template <int> struct s1 { enum { e1 = 1 }; }; template <int t2> struct s2 { enum { e1 = s1<t2>::e1 }; s2() requires(0 != e1); }; s2<8> a; ```