https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102553
--- Comment #8 from Andrew Pinski <pinskia at gcc dot gnu.org> --- Reduced all the way: struct s1{}; template<int> inline constexpr s1 ch{}; template<s1 f> struct s2{}; template<s1 f> using alias1 = s2<f>; template<typename T> void general(int n) { alias1<ch<1>>{}; }