1// { dg-do assemble } 2 3class mystream; 4 5template <class T> class a; 6 7template <class T> mystream& operator>>( mystream& s, a<T>& thea ); 8 9template <class T> class a { 10public: 11 friend mystream& operator>> <>( mystream&, a<T>& thea ); 12private: 13 T amember; 14}; 15 16template<> mystream& operator>> <int>( mystream& s, a<int>& thea ); 17 18template class a<int>; 19 20template<> mystream& operator>> <int>( mystream& s, a<int>& thea ) 21{ 22 thea.amember = 0; 23 return s; 24} 25