// Build don't link: // Origin: Mark Mitchell class ostream; extern ostream& cout; class Foo { }; ostream &operator<<(ostream &os, const Foo &) { return os; } template const typename T::fooz &operator<<(const Foo &, const T &t) { return t; } int main() { Foo foo; cout << foo; }