https://gcc.gnu.org/bugzilla/show_bug.cgi?id=95263
--- Comment #1 from Nathan Sidwell <nathan at gcc dot gnu.org> --- Reduced: template <typename> class TPL { template <int> using INT = int; }; template <typename T> class Klass { public: template <int I> using ALIAS = typename TPL<T>::INT<I>; template <int> static void FUNC (); // OK template <int I, typename> static ALIAS<I> FUNC (); // SFINAE error }; void Fn () { Klass<int>::FUNC<0> (); }