/* { dg-do compile } */ struct rgba8; template class span_gouraud { public: struct coord_type { }; coord_type m_coord[3]; }; template class span_gouraud_rgba : public span_gouraud { typedef ColorT color_type; typedef span_gouraud base_type; typedef typename base_type::coord_type coord_type; public: void prepare() { coord_type coord[3]; } }; void the_application() { typedef span_gouraud_rgba gouraud_span_gen_type; gouraud_span_gen_type span_gouraud; span_gouraud.prepare(); }