https://gcc.gnu.org/bugzilla/show_bug.cgi?id=71773
--- Comment #3 from Markus Trippelsdorf <trippels at gcc dot gnu.org> --- template <int> struct a; template <typename...> struct b; template <typename c, typename d> struct b<c, d> : a<c::e> {}; template <typename> struct f; template <typename g> struct h : f<g> {}; template <int> struct i; template <typename g> typename i<b<h<g>, g>::e>::j k(g, g); template <typename> struct l { int m; void n(l o) { k(0, o.m); } };