1/* { dg-do compile } */
2
3struct rgba8;
4template<class ColorT> class span_gouraud     {
5public:
6    struct coord_type { };
7    coord_type m_coord[3];
8};
9template<class ColorT> class span_gouraud_rgba : public span_gouraud<ColorT>
10{
11  typedef ColorT color_type;
12  typedef span_gouraud<color_type> base_type;
13  typedef typename base_type::coord_type coord_type;
14public:
15  void prepare()         {
16      coord_type coord[3];
17  }
18};
19void the_application() {
20    typedef span_gouraud_rgba<rgba8> gouraud_span_gen_type;
21    gouraud_span_gen_type span_gouraud;
22    span_gouraud.prepare();
23}
24