// { dg-do assemble } template struct S { struct X {}; }; template typename S::X f(T, U) { typename S::X(); return typename S::X(); } template S::X f(int, double);