1 // PR c++/26261
2 // { dg-final { scan-assembler "_ZN1YIiE1fIiEE1XILi1EEv" } }
3 
4 template <int dim> class X {};
5 
6 template <class T> struct Y {
7   static const unsigned int dim = 1;
8   template <class U> X<Y<T>::dim> f();
9 };
10 
11 template <class T> template <class U>
f()12 X<Y<T>::dim> Y<T>::f() { return X<dim>(); }
13 
main()14 int main()
15 {
16   Y<int>().f<int>();
17 }
18