------- Comment #6 from pinskia at gcc dot gnu dot org 2010-08-06 22:35 ------- Nice reduced testcase: template<typename T> struct remove_reference { typedef T type; }; template<typename TestType> struct forward_as_lref {}; template<typename Seq, typename N> struct apply1 { typedef typename remove_reference<Seq>::type seq; typedef forward_as_lref< typename seq::seq_type> type; }; template<typename Seq> struct apply { typedef forward_as_lref< typename remove_reference<Seq>::type::seq_type > type; }; struct reverse_view { typedef int seq_type; }; int main() { apply<reverse_view >::type a2; }
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=45200