1 template <class T>
2 struct 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 
main()10 int main() {
11   X<int>() += 1.0;
12 }
13