// { dg-do compile { target c++11 } } template<typename...> struct tuple { }; template<typename... Args1, typename... Args2> void foo(tuple<Args1..., Args2...>, tuple<Args1...>, tuple<Args2...>); struct X{ }; void bar() { tuple<int, float> tif; tuple<double, X> tdx; tuple<int, float, double, X> tall; foo(tall, tif, tdx); }