// 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" }
}
