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