3 template <typename T> struct A;
4 template <typename T> struct B {};
5 template <typename T> A<T>& operator<<(A<T>&, const B<T>&);
10 A<T>& operator<<(A<T>& (*)(A<T>&));
13 template <typename T> A<T>& foo(A<T>&);
17 c << (1, foo); // { dg-error "no context" }