1// { dg-do assemble  }
2
3template <class T, int I>
4struct S {
5  struct X {};
6};
7
8template <class T, class U, int I>
9typename S<T,I>::X f(T, U) {
10  typename S<T, I>::X();
11  return typename S<T, I>::X();
12}
13
14template S<int, 3>::X f<int, double, 3>(int, double);
15