1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
// PR c++/32232 template <typename T> struct A; template <typename T> struct B {}; template <typename T> A<T>& operator<<(A<T>&, const B<T>&); template <typename T> struct A { A<T>& operator<<(A<T>& (*)(A<T>&)); }; template <typename T> A<T>& foo(A<T>&); extern A<char> c; int main () { c << (1, foo); // { dg-error "no context" } }