Merge with main truk.
[official-gcc.git] / gcc / testsuite / g++.dg / cpp0x / variadic-nondeduce2.C
bloba82a098c3dacc5108831d3ef3d0b1e7f6d662f60
1 // PR c++/55220
2 // { dg-do compile { target c++11 } }
4 template <typename ...> struct something_like_tuple
7 };
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));