// 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>&)); // { dg-error "candidate" }
};

template <typename T> A<T>& foo(A<T>&);
extern A<char> c;

int main () {
  c << (1, foo); // { dg-error "no match" }
}
