1// { dg-do link  }
2
3template <class T>
4class ConstArray {
5};
6
7template <class T1, class T2>
8void operator+(const ConstArray<T1>&, const ConstArray<T2>&)
9{
10}
11
12template <class T1, class T2>
13void operator+(const ConstArray<T1>&, T2);
14
15template <class T1, class T2>
16void operator+(T1, const ConstArray<T2>&);
17
18const ConstArray<int> cai() { return ConstArray<int>(); }
19const ConstArray<double> cad() { return ConstArray<double>(); }
20
21int main()
22{
23  cai () + cad ();
24}
25