------- 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