| // { dg-do compile { target c++11 } } | |
| template<typename T> | |
| struct vector { | |
| }; | |
| struct X { | |
| template<typename T> | |
| struct tmpl { | |
| operator T() const; | |
| }; | |
| }; | |
| template<typename T> | |
| void g() | |
| { | |
| T::template tmpl<vector<int>>() + 2; | |
| } | |
| template<typename T> | |
| void operator+(vector<T>, int); | |
| void f() | |
| { | |
| vector<vector<int>>() + 2; | |
| } | |
| // PR c++/36460 | |
| template <class a> | |
| class A {}; | |
| template <class b> | |
| class B {}; | |
| A<B<void()>> x; | |