1// { dg-do link } 2// GROUPS passed templates 3class ostream {}; 4 5template <class T> 6class S; 7 8template <class T> 9void operator<<(ostream&, S<T>) {} 10 11template <class T> 12class S 13{ 14 friend void operator<<<>(ostream&, const S<T>); 15}; 16 17 18int main() 19{ 20 ostream o; 21 22 o << S<int>(); 23} 24