2 // { dg-final { scan-assembler "_ZN1YIiE1fIiEE1XILi1EEv" } }
4 template <int dim> class X {};
6 template <class T> struct Y {
7 static const unsigned int dim = 1;
8 template <class U> X<Y<T>::dim> f();
11 template <class T> template <class U>
12 X<Y<T>::dim> Y<T>::f() { return X<dim>(); }