2 // { dg-do compile { target c++11 } }
4 template <typename ...> struct something_like_tuple
9 template <typename, typename> struct is_last
11 static const bool value = false;
14 // Head is non-deducible, so this can't work as the user intended
15 template <typename T, template <typename ...> class Tuple, typename ... Head>
16 struct is_last<T, Tuple<Head ..., T>>
18 static const bool value = true;
21 #define SA(X) static_assert (X, #X)
23 typedef something_like_tuple<char, int, float> something_like_tuple_t;
24 SA ((is_last<float, something_like_tuple_t>::value == false));
25 SA ((is_last<int, something_like_tuple_t>::value == false));