1// PR c++/13157
2
3namespace aa
4{
5  double abs(double);
6  long double abs(long double);
7}
8
9namespace fu
10{
11  template <class T>
12  struct X
13  {};
14
15  template <class T>
16  X<T> test(X<T> x)
17  {
18    using ::aa::abs;
19    return abs(x);
20  }
21
22  template <class T>
23  X<T> abs(X<T>);
24
25  X<int> x;
26  X<int> z = test(x);
27}
28
29