1 // { dg-do compile { target c++11 } }
2 template<typename... Elements>
3 struct tuple { };
4 
5 template<typename T, typename... Elements>
6 struct tuple<T, Elements...> {
7   int foo();
8 };
9 
10 template<typename T, typename... Elements>
11 struct tuple<T*, Elements...> {
12   int bar();
13 };
14 
15 template<typename T, typename... Elements>
16 int tuple<T, Elements...>::foo() { return 0; }
17 
18 template<typename T, typename... Elements>
19 int tuple<T*, Elements...>::bar() { return 0; }
20