1// PR c++/34206 2 3template<class _T1, class _T2> struct pair { }; 4template <class T0, class T1> struct tuple { 5 template <class U1, class U2> 6 tuple& operator=(const pair<U1, U2>& k) { } 7}; 8template<class T1, class T2> inline tuple<T1&, T2&> tie(T1& t1, T2& t2) { } 9 10template <class T> struct A 11{ 12 typedef T type; 13 pair<type, type> f(); 14}; 15 16void g(A<int> a) 17{ 18 typedef A<int>::type type; 19 type begin1, end1; 20 tie(begin1, end1) = a.f(); 21} 22