1 // PR c++/33239
2 
3 struct null_type;
4 
5 template<typename T1, typename T2>
6 struct tuple_impl
7 {
8   template<typename U>
9   struct append
10   {
11     typedef tuple_impl<U, null_type> type;
12   };
13 
14   int data;
15 };
16 
17 template<typename T1>
18 class tuple
19 : public tuple_impl<T1, null_type>::template append<T1>::type
20 {
21   using tuple_impl<T1, null_type>::template append<T1>::type::data;
22 };
23 
24 tuple<int>  my_tuple;
25