https://gcc.gnu.org/bugzilla/show_bug.cgi?id=92745
--- Comment #4 from Jakub Jelinek <jakub at gcc dot gnu.org> --- creduce gives: template <typename a, int b> struct c { typedef a d[b]; }; template <typename a, int b> struct h { typename c<a, b>::d e; }; template <class f> using g __attribute__((vector_size(sizeof(f)))) = float; void i() { h<g<float>, 4>{g<float>{}, {}}; } as something that used to be accepted and is rejected afterwards. Not sure if that error isn't valid though.