https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84075
--- Comment #11 from Andrew Pinski <pinskia at gcc dot gnu.org> --- (In reply to ensadc from comment #4) > Further reduced: > > template < int > struct b { }; > template < typename n > struct g { > typedef b< sizeof(n) > l; > }; > template < typename h, typename = typename g< h >::l > class aa {}; > template < typename h, typename bz > > void bj(aa< h, bz >, int); > template < template < class > class ct > void bj(ct< class U >); > void f() { > bj(aa<int>(), 0); > } > ---- Hmm, it comes with -std=c++11 and -std=c++14 but not -std=c++17.