// { dg-do compile { target c++11 } }
template<typename... Elements> struct tuple {};

template<typename... Args>
struct nested
{
  typedef tuple<tuple<Args, Args...>...> type;
};

template<typename T, typename U>
struct is_same
{
  static const bool value = false;
};

template<typename T>
struct is_same<T, T>
{
  static const bool value = true;
};

int a0[is_same<nested<int, float>::type, 
                      tuple<tuple<int, int, float>, 
                            tuple<float, int, float> > >::value? 1 : -1];
