https://gcc.gnu.org/bugzilla/show_bug.cgi?id=79900
Marek Polacek <mpolacek at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |mpolacek at gcc dot gnu.org --- Comment #2 from Marek Polacek <mpolacek at gcc dot gnu.org> --- reduced test case: template <class> struct A; template <typename> struct B { long _M_off; int _M_state; }; template <> struct A<char> { typedef B<int> pos_type; }; enum _Ios_Openmode {}; struct C { typedef _Ios_Openmode openmode; }; template <typename, typename _Traits> struct D { typedef typename _Traits::pos_type pos_type; pos_type m_fn1(pos_type, C::openmode); }; template class D<char, A<char>>; template <typename _CharT, typename _Traits> typename D<_CharT, _Traits>::pos_type D<_CharT, _Traits>::m_fn1(pos_type, C::openmode) {}