// PR c++/13833 struct X { template X & operator << (const T &t); X & operator<< (int& (*p) (int&)); }; X x; template void foo () { x << (1 ? "ok" : "failed"); } template void foo<1>();