// Origin PR c++/45200 // { dg-do compile } template struct remove_reference { typedef T type; }; template struct forward_as_lref { }; template struct apply1 { typedef typename remove_reference::type seq; typedef forward_as_lref type; //#0 }; template struct apply { typedef forward_as_lref::type::seq_type> type; //#1 }; struct reverse_view { typedef int seq_type; }; int main() { apply::type a2; }