// { dg-do assemble } | |
// Origin: Mark Mitchell <mark@codesourcery.com> | |
class ostream; | |
extern ostream& cout; | |
class Foo { }; | |
ostream &operator<<(ostream &os, const Foo &) | |
{ | |
return os; | |
} | |
template<class T> | |
const typename T::fooz &operator<<(const Foo &, const T &t) | |
{ | |
return t; | |
} | |
int main() | |
{ | |
Foo foo; | |
cout << foo; | |
} |