1template <class T>
2struct X {
3  template <class U> void operator+=(U);
4
5  template <class V>
6  template <class U>
7  friend void X<V>::operator+=(U);
8};
9
10int main() {
11  X<int>() += 1.0;
12}
13