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()14 void g()
15 {
16   T::template tmpl<vector<int>>() + 2;
17 }
18 
19 template<typename T>
20 void operator+(vector<T>, int);
21 
f()22 void 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