------- Comment #4 from chris dot fairles at gmail dot com 2007-08-16 16:16
-------
Adding:
template<typename... _UElements>
tuple(const tuple<_UElements...>& __in, typename std::enable_if<
std::is_same<
std::integral_constant<std::size_t,sizeof...(_Elements)>,
std::integral_constant<std::size_t,sizeof...(_UElements)>>::value>::type* =
0)
: _Inherited(__in) { }
(whether its legal or not) gives ICE:
prelude/tuple.hpp: In instantiation of test::tuple<short int, int, double>:
tuple_test.cpp:28: instantiated from here
prelude/tuple.hpp:206: internal compiler error: tree check: expected tree_vec,
have type_pack_expansion in tsubst_copy_and_build, at cp/pt.c:10416
when explicitly instantiating template,
template class test::tuple<short, int, double>;
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=33091