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