1 // { dg-do compile { target c++11 } } 2 template<typename T> 3 struct vector { 4 }; 5 6 struct X { 7 template<typename T> 8 struct tmpl { 9 operator T() const; 10 }; 11 }; 12 13 template<typename T> g()14void g() 15 { 16 T::template tmpl<vector<int>>() + 2; 17 } 18 19 template<typename T> 20 void operator+(vector<T>, int); 21 f()22void f() 23 { 24 vector<vector<int>>() + 2; 25 } 26 27 // PR c++/36460 28 template <class a> 29 class A {}; 30 template <class b> 31 class B {}; 32 33 A<B<void()>> x; 34 35