https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116888
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- I think this is "ill-formed; no diagnostic required". Instantiating Test1<int> does not instantiate Helper or the partial specialization Helper<U>, so the invalid template argument is not needed.