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

Reply via email to