1 struct A { 2 A operator=(const A&); 3 }; 4 5 A operator*(A, A); 6 7 A& operator+=(A& a, const A& b) 8 { 9 return a = a * b; // { dg-error "non-const lvalue reference" } 10 } 11